Here's how I think it is done. (From sourceforge's openstrip developer mailing list archive and my own experimentation).
Control click on the desired application. If it is a .app bundle (like most OS X native apps) there will be an option to "show contents." Do this, and open the Info.plist file (in TextEdit or in the plist editor that comes from the dev tools. If you open in TextEdit, be sure to save it as a text file, or better yet, oepn it from the terminal in pico to be sure the line breaks are the right style.)
Anyhow, in a text editor, add the lines
<key>NSBGOnly</key>
<string>1</string>
before these lines at the end
</dict>
</plist>
(I think the tab before <string> is just for formatting... not necessary)
Or try the key/string combination NSUIElement and 1 (same format as above).
From the plist editor, just add a new key/value combination, and choose string as the data, and type NSUIElement or NSBGOnly in the key and 1 as the string data.
If none of these work, or if the app isn't a bundle app (no contents), try typing defaults write appname NSBGOnly 1 from the terminal (you can also try NSUIElement).
I think one of these things should work. I would try, but I am away from my OS X box for the holidays. Please post any success/failure with these methods!
Zach
PS. Does command-tab cycle through faceless (no dock icon) apps? How eles would you foreground a faceless app if all of its windows are closed? Does the dialog that command-option-escape brings up allow you to foreground a faceless app?