This is not an issue with your sketch… As you have discovered… it is an issue with the nature of the ESP as shield library, that does NOT allow the use of Blynk.config() (non-blocking) instead of Blynk.begin() (blocking).
There is a concurrent topic happening right now that has a unique solution for resetting the Arduino until it connects… assuming WiFi does get turned on again.
But if no WiFi, then there is no current solution for Arduinos using ESP as WiFi shield.