I had this same problem, and, unfortunately, if a remote user is using a NAT, they WILL NOT be able to send to you without allowing proper PORT FORWARDING through their router (assuming they have one). You will have to do this too (I believe if you go to your IE, you can do:
http://192.168.0.1 and pull up your configuration).
The reason you can initiate DCC's to yourself is because your NAT on the router notices that you actually REQUESTED this to happen. When a remote user tries to confirm a DCC, your system never receives it as a 'confirmation authentication', because your NAT interrupts it and says "Oh, you didn't request this. DIE!!!!". That's because NATs can be gay sometimes; even though you iniated the send to begin, it doesn't realize that it should be waiting for a request of confirmation. So, it's retarded in a sense ;-)
Anywho, hope this helps you! Good luck!