the experienced might not consider it a bug, and at one time, I didn't either when I was writing my own php projects.
However, it is a bug. Why?
Because for instance on some servers you can't edit php.ini and set the output bufferring to on and then you have to add manually the function
ob_start(); to config.inc.php near the top and the function ob_end_flush(); to the bottom of include/foot.inc.php
Do that solves the headers already sent problem on systems where one can not edit their own php.ini file. For instance, I use mesopia and there you can't edit it if you are using a shared host.