Blank lines are not always a problem.

I think that the issue here is that if there are characters outside the <?php ?> in a file that's included, then those characters will be output when the file is included. PHP automatically sends the HTTP headers, if necessary, when outputting data. If the script explicitly sends HTTP headers after the file is included, then the result is the "headers already sent" warning.