Thanks to all for their input.  I've tested a few things and I found that:

a) When I match the root node, anything I put there comes out after the doctype
b) I can't use processing instruction since that isn't what this is so it won't come out in the right format.
c) xsl:output doesn't provide a way for defining things outside the doctype either (not surprising)
d) a couple of people have mentioned that this is "unorthodox" .   I've been looking at a lot of programming stuff lately (ASP, for examples) and it seems not uncommon to have things like <%@ Page Language="VB" %> appear at the very top of HTML pages.  I guess most people don't care if their HTML validates ;)

So we'll work on an alternate solution.  Maybe we can run something as on onLoad event.

Thanks all --