Conclusion: I think this was because the Windows implementation of TCP detects something different on this connection, maybe it detects in some way that there is a filter on the server side and this is why the time for the error message take so long to appear.
Am I right? Is there a workaround for this problem? I need to make windows think that the server is really "down" and that is why iÂm writting to you people.
You are right, tcp/ip stacks are different. In this the difference shows case the filtered port will send back a host-unreachable while the closed port will send back a TCP-reset. It is best to always send back a TCP reset when rejecting tcp, all stacks react good to this (they better do, it's in the RFC). So add a --with-tcp-reset to jour reject and you should be OK.
HTH,
Martijn Lievaart