I didn't try this, but instead of using the SendMessage API, try to use the PostMessage API. SendMessage works syncronical, PostMessage asyncronical. In English this means that SendMessage doesn't return immediatly and waits for the call to finish (hence a possible freeze/delay if something went wrong with the called function), PostMessage doesn't wait and returns immediatly... See
MSDN library... (all this is just theory, didn't tried it out yet. Furthermore, this wont solve the actual possible bug in the plugin API of Plus!, but it is a way to avoid freezing)...
PS: Patchou, about the VB example source in the plugin docs, it can be made much shorter, faster and more ermmm... "according to the proper VB programming rules" (It contains a lot of redundant code and isn't such a great example of proper efficient programming in VB so to speak; aka can teach bad practices to beginners)