I am working on a new and more comprehensive server library for FirePHP that will allow you to enable and disable FirePHP via a configuration file. If you would like to become a beta tester, watch my blog for the announcement (
http://www.christophdorn.com/).
Why do you not want to use output buffering? Is it a problem because you want to be able to install a FirePHP plugin into Moddle without requiring the user to add ob_start() at the beginning of the Moodle bootstrap file or requiring the user to enable output_buffering in the php.ini file?
Reverting back to <div> instead of headers is a big step backwards in my opinion. It does not allow debugging of any requests other than HTML and it will not take advantage of the current FirePHP variable renderer nor more powerful features I will be introducing later this year.
Let's figure out a solution that works for you. You are not the only one who will be running into this issue.
The two solutions I see right off the bat:
1) See why Moodle outputs content before your plugin is called. Is it a mistage (whitespace at the end of a PHP file) or is it intentional?
2) If it is possible to have the FirePHP plugin called before any Moodle output you can enable output buffering then. It does not have to be enabled right at the beginning, just before any output.