If you look at the actual error message, it doesn't complain about the include itself.
The problem is that headers are sent to the browser before any ''real'' document data. So if you start sending any ''real data'', it's too late to send a header. If you include() a file, that's no problem as long as it's only PHP code that doesn't output anything before functions are called.
However, if the file you include() contains print, echo or regular HTML, you have to send headers BEFORE the include.
This file may contain ''real data'' without you knowing it. A blank line before or after the <? .. ?> tags could be enough to ruin it all. So, I'd go with checking for blank lines in the file included, as well as in the top of the file that includes it.