Capturing other users IP Address is certainly possible in most situations, but also depends highly on your network setup.
If your using a direct connection to the Internet and no proxy server's to use the above programs, then it's almost certain that your program is sending the messages directly to the user's IP address, without involving the service's server.
In this case, a simple packet sniffer running on your workstation will reveal the packets your workstation creates and sends while sending a message to a particular user.
The use of a packet sniffer does require some basic amount of networking knowledge, so you might find it useful to read any 'help' sections provided with these programs.
On the other hand, if your workstation is behind a firewall or gateway of some sort, it might be possible that the messages are sent to the service's server (e.g MSN server) which in its turn will forward them to the destined user. When sniffing such data, you will notice the destination IP address of the packet your workstation sent, will always remain the same!
From time to time, I've also come across other interesting applications that will automatically discover the other person's IP using a simply query. A quick search will reveal a wealth of these type of programs :)
This was first published in October 2003