The onCordovaConnectionReady event is dependent on the getInfo call, which in turns calls the NetworkStatus plugin's "getConnectionInfo" method. The event is not fired if the method never returns - which is the source of the bug.
For iOS 5, these calls are sent in succession and are received in the native side:
For iOS 4.2.1, the same calls are sent in succession, BUT only this message is received in the native side:
Somehow the NetworkStatus call just disappears without a trace. I will try querying the xhr status next to see what's going on.