"Best way" is a matter of opinion. If you like the dotMSN code and don't mind installing the .NET Framework on whatever machine(s) need to build profiles, go for it. Accessing the Windows Messenger/MSN Messenger APIs is done through COM, so any language that can server a COM client (and there's many!) can do it. If you don't want to worry about the 20+ MB .NET Framework installation, you could use VB6 which would be pretty easy as well. Keep in mind that the Messenger APIs change quite a bit from major version to major version. That alone can make what you want to do a pain. Perhaps they have finally settled on an object model and will only version new interfaces from here on out. One can only hope.
Microsoft MVP, Visual C# My Articles