See the question and my original answer on StackOverflow

I don't think you will be limited if you use this, as it's mostly a thin layer between IE and the extension that uses it. Even if something's missing, the CLR has powerful interop mechanisms, and last, you have SpicIE source.

If you ever need to port it over to a C++ project, yes, you will have to rewrite it, but the logic should be very similar, as the interfaces you will use are mostly IE's COM interfaces (IHtmlxxx and all that jazz: This is the same whether you're working in C# or C++.

PS: since the source is provided, I would definitely try to merge SpicIE code with my own code, and build the whole in a single assembly, as this would ease deployment.