Вот две идеи, которые могут сработать.
Первый - самый простой, но пользователь может легко его избежать, если он не хочет регистрироваться. Было бы использовать MSN Plus поверх MSN. С MSN Plus у вас есть API, который позволяет вам получать все сообщения из любого окна чата ... и многое другое. Конечно, если вы не являетесь пользователем, он может просто удалить Msn Plus, и ваша программа не будет регистрировать какие-либо данные.
Вторая идея лучше, если у вас есть сеть, которая требует проверки всех сообщений Msn. Если вы используете WireShark , вы увидите, что разговор не зашифрован (ну, в последний раз, когда я это сделал), и вы можете проверить порт и протокол, чтобы просто получать данные из сети.
Надеюсь, это даст вам путь к тому, что вам нужно.