It is easy to get into a loop, but if you’re careful about how you do your coding and flow logic then you can avoid problems.
I have to say that I don’t use Tasmota, it’s a bit too bloated and far too complex for anything that I need, so I’m not really familiar with the MQTT messages that it can send.
The basic principal should be that when you recieve an MQTT message from the Sonoff tosay that it’s ON, a similar message needs to be sent to your Blynk switch widget to ensure that it stays synchronised. That update to the Blynk Switch will create a new Node-Red event, but provided that you’re distinguishing between ON and OFF events in your code flow then it shouldn’t be a problem.
If you’re suffering from the electronic version of ‘switch bounce’ then a delay node with a short delay in it (50ms maybe) should solve the problem. You may also want to look at the RBE node to ensure that new messages are only sent when the payload value changes.
It really all depends on what you’re getting from Tasmota and how you’ve structured your flow. Post some details and we’ll be happy to give you some feedback.