May I recommend dropping in an Interop file for Microsoft Script Control, which I believe comes standard with Windows XP and 2003? You can pass in C# objects and the CLR will automatically generate CCWs for ActiveScript (JavaScript / VBScript). I've done this before, it's a pretty simple task, but it does limit you to working with value type object properties and simple methods as the CCWs produced are pretty basic. In other words, you can work with C# objects (Set myLayer = Application.Layers.Item(2)) and pass them around (Application.Layers.Add(myLayer)), but you cannot work with their properties beyond value type variables (MyTextBox.Text = "Hello World"). In other words, you cannot, for instance, use VBScript to instantiate a new System.Xml.XmlDocument object and work with its NodeLists, etc.
Perhaps you've looked further into this for Paint.NET specifically and I'm being a little simplistic.
Jon