My initial thought about this code are that it is unnecessarily complicated. Creating an embedded HTML resource, creating a specific control, putting in the correct GUID into to the HTML page and then getting it all to work seems to be somewhat of a long winded approach. I understand the benefit of having the plugin as a page itself within Raiser’s Edge but I think that having a new window from Raiser’s Edge is much more flexible (you can easily go to other RE windows) and it is easier to develop.
For my alternative solution see this previous post (A .NET plugin)
Using this method you can easily concentrate on the functionality of the plugin and not getting it to work with Raiser’s Edge!