MsgPlus! uses lots of different ways to gather information from Messenger. Mainly it uses the Messenger API (which is working somewhat) plus some hidden extras (to retrieve the contact-list). It also uses API-hooking on the Winsock functions (send & recv) to receive different types of events. To add the button/skinning, it applies API-hooks onto the Win32 Resource API (LoadResource, FindResourceExW, LockResource, SizeofResource), to modify the resources loaded from
msgsres.dll. And finally it replaces the richedit-interface so that colors, formatting can be inserted plus quick-texts etc. These aren't really the details, however it's pretty advanced.
There are some examples and much more help over at
the MSNFanatic forums. Go look there, TheSteve has created a type-library which allows you to use the Messenger API without having to install Windows Messenger.