When a node doesn't have a block, no attempt to find the block is made to other nodes on down the line.
It used to at some point, the code is there but isn't being used. See offnetwork_msgs.cxx at check_send_block().
Not good for the network because other firewalled nodes may have the block.
Please refer to this post for more details and suggestions
http://board.planetpeer.de/index.php/topic,4983.0.html