When you’re writing deep sleep code for use with Blynk it’s best to throw away all the normal Blynk rules about code structure, the use of timers etc and take a totally different approach.
Take a read through this topic…
in particular the code in post #17 which solves the issue of the device not going to sleep if it can’t connect to Blynk.