At present (1.4.x) there appears to be a problem with using a FireBreath based plugin if your HTML document includes a DOCTYPE. The following is known to work: (Example assumes plugin has a pluginVersion property and a sayHello method.)
If your document were to include a DOCTYPE definition the plugin will fail to work as expected. In IE 9 with a DOCTYPE set instead of getting a scriptable object when doing things like document.getElementById("plugin") you will be returned an [object HTMLObjectElement]. The object which is returned to you in IE 9 has all of the properties and methods that your scriptable object should have and you can freely access the properties as expected. Calling methods on the object results in an extra parameter being sent to the plugin and since FireBreath validates the number of parameters you will get an error indicating that you passed too many parameters. In the example above your plugin would think that you called sayHello with 2 parameters. This behavior is unique to IE 9 as Firefox 3.x, Firefox 4.x, Chrome, Safari, IE 7, and IE 8 all continue to return you a scriptable object. Hopefully a future version of FireBreath will be able to deal with whatever IE is now doing to us. Until then just avoid using DOCTYPE definitions in your HTML documents.