You are right, a lot of engines get deep info a search and don't send out anything.
Some engines report PVs and other search results but are more stingy on some of the other reporting info.
Of course in their defense, outputting stuff takes CPU time.
The protocol for the UCI interface
indicates that some info should be sent out now and then.. to quote the document
"the engine should send this info regularly"
info nodes (number of nodes searched...so far)
info hashfull (the % of the hash that is full)
info nps (the nodes per second)
any one or more of these every few seconds would be sufficient
if using TBs, the following info would suffice to let us know the engine is still alive.
info tbhits (the number of positions that were found in the endgame table bases)
As I write this, I'm watching Houdini 1.5a chomp on a mate problem. It is at ply 40 and besides the PV info, it is updating the tbhits, the hashfull, and the nps a couple of times a second. it also updates the current move and move number to show progress.
Each engine is different and the UCI protocol doesn't require much of anything that is basically for human consumption.