The network protocol is not quite consensus critical, but it is important.
Two implementations of the decompressor might not be bug for bug compatible. This (potentially) means that a block could be designed that won't decode properly for some version of the client but would work for another. This would fork the network.
A "raw" network library is unlikely to have the same problem.
Rather than just compress the stream, you could compress only block messages only. A new "cblock" message could be created that is a compressed block. This shouldn't reduce efficiency by much.
If a client fails to decode a cblock, then it can ask for the block to be re-sent as a standard "block" message.