Great article!
This will come in very handy with an application I have in mind

.
Just a note about using this in VB2005 (I'm using Express edition right now, hopefully I'll upgrade):
The CreateInstance method of the PluginServices works fine, and does return an instance of the class that can be used but only when put into an Object type.
You don't have the full list of functions and subroutines available to you using the object.
When using the DirectCast, to cast the instance to an variable declared as the Interface - it doesn't like that cast and throws an exception.
To fix this do what Prozac mentiond - change the references of [Assembly].LoadFrom() to [Assembly].LoadFile() and it works fine.
Thanks for the great article!