Also erstens:
Die einzelnen Frames haben jeweils eigene HTTP Anfragen, also werden jedes mal neue Header gesendet.
und zweitens:
Wo steht, dass man session_start() nicht aufrufen kann wenn die Header schon gesendet sind?
also machs doch so:
PHP-Code:
<?php
session_start();
?>
<!DOCTYPE .... >
<html xmlns... >
<head>...</head>
<frameset ... >
<frame src="seite1.php?PHPSESSID=<?=$PHPSESSID?>" />
<frame src="seite1.php?PHPSESSID=<?=$PHPSESSID?>" />
</frameset>
</html>