If you needed to do timing in microseconds then if your code was well written you shouldn’t be getting wdt reset issues.
BlynkTimer uses milliseconds, not microseconds.
If you want to do timing in microseconds then you can compare the current micros() value with the value from when your timing loop began, in just the same way that you’d do this using a millis() comparison.
If you do a quick search you’ll find many examples of using millis() in this way.
The important thing from a Blynk perspective is that you process a Blynk.run() command as frequently as possible. This would normally be done in the void loop, but if your stepper processing code is running in a loop that prevents the code returning to the void loop frequently enough then you’ll need to add Blynk.run() into your stepper loop.
This may well cause you timing issues with your stepper, but that’s something you’ll need to live with if you’re using Blynk in this way. An alternative approach is to use two MCUs - one to talk to Blynk and the other to control the stepper. If you sea h the forum there are a few recent discussions about this approach.