Yes, seems you really over-engineering here. If your phys calculations start to take more time than it was plannded by you - then anyway gameplay will be sloppy. So just calculate one step at time and if after calculations check current time. If it's required to calculate phys one more time - just skip calculation and reset your timer, so next calculation will happen after another fixed period of time - this will make your game stable. And this is the best thing required in that kind of situation: DONT CRASH!