AFAICT OpenSSL assumes that the counter block is already constructed as you want it to be and that you never attempt to encrypt any data in a way that would re-use a counter block due to overflow.

I think this is problematic in e.g. TLS where the initial counter block is constructed from a nonce, a "record counter" and 16-bits of counter starting at 1. If you overflow for a particular record somehow you'll probably be using a counter block that should actually have been used by the subsequent TLS record. Presumably the TLS is careful to split messages at the right points so that this can't happen.