I contacted BareBones in order to ask them to solve the issue, this is the answer:
I believe this is happening because Cyberduck tells the system to activate TextWrangler before sending it the event to open the document. When you have TextWrangler set to "New Text Document" at startup (which also affects its activation behavior), it will make a new window if no documents are open when it's activated. You can set this to "Do nothing" to work around the problem for now.
On the Cyberduck side, if it can be changed to send the Open Document event to TextWrangler before asking the system to make it the active application, this should solve the problem, as well.
It seems that the issue is is caused by both my TextWrangler settings (that however make sense in most cases) and by a small issue in Cyberduck. Could you please try to correct it, as suggested by Barebones' developers?