Presumably there\'s some tiny performance hit, but beyond that?
If it produces an error, odds are that the developers didn't intend for that particular action to occur. So yes, despite what you're shown by W3Schools, it's technically a 'bad' thing to do.
So, rather than play it safe and try to set the session on each page, why not first check to see if the session exists before you move forward?
if ( !isset($_SESSION) ) session_start();
Personally, I'd check for the existence of the session's cookie first.