I wish I had good news, but I don't. Just bad news
the ob_ functions are VERY picky -- even code like
echo "Hello, $place" can mess it up. Error- and Warning- mesages DO mess it up, and the result is a blank page. I've been told this is (sort-of) documented
http://www.php.net/manual/en/function.ob-start.php
Notice in particular:
ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() and ob_start() may not be called from a callback function. If you call them from callback function, the behavior is undefined. If you would like to delete the contents of a buffer, return "" (a null string) from callback function. You can't even call functions using the output buffering functions like print_r($expression, true) or highlight_file($filename, true) from a callback function.
Error messages use callback functions, and (at least sometimes), so do variables embedded in strings. (the result is buffering functions might be called from within their callback functions) Please don't ask me to explain, because I'm not sure I understand, or even believe, the explanation
Someone else might know a better way, but the only way I know to debug this, is to first, turn off the ob_ functions (comment them out) and (hope) you spot an error or warning message. Fixing them will almost always get things to work. You may need to disable some plugins too.
If this doesn't work, you are probably going to need to go bug hunting. Turn the ob_ back on, and about half-way through, insert a
ob_end_flush(); ob_start(); If you see the top half, then you know the problem lies in the bottom half.... Eventually, you will be able to track down the trouble-maker.