Well, not really.
The sim almost certainly runs in stages, ie process contract renewals, then process retirement logic. Your contract offer triggers the former, retirement logic random number generator retires him. Touch and go if cap should be reset, these things happen. At 33, these things happen.
If the issue is the order the sim runs things, I'd agree, any retirement processing should be run BEFORE considering contracts.
Hadn't got a new contract offer in place, but my lead RB, a 30yr just randomly retired this morning.