MSN Messenger may use different ports when receiving and different ports for sending. You may not have everything forwarded. To see what's wrong you may use tcpdump and see what is your machine sending. Then you can forward more ports.
Just a guess, I don't use MSN Messenger.