Was mir eben noch auffällt ist der Anfang deiner HTML-Datei. Da ist der head-Bereich noch gar nicht geschlossen, da geht der body schon los und später gleich nochmal:
<body bgcolor="#000033">
<div align="left">
<table border="0" style="border-collapse: collapse" width="1000" id="table1" bordercolor="#000000">
<tr>
<script language="JavaScript" src="menu.js"></script>
<script language="JavaScript" src="menu_items.js"></script>
<script language="JavaScript" src="menu_tpl.js"></script>
<link rel="stylesheet" href="menu.css">
</head>
<body>
Besser wäre es, das durch folgendes zu ersetzen:
<script language="JavaScript" src="menu.js"></script>
<script language="JavaScript" src="menu_items.js"></script>
<script language="JavaScript" src="menu_tpl.js"></script>
<link rel="stylesheet" href="menu.css">
</head>
<body bgcolor="#000033">
<table border="0" style="border-collapse: collapse" width="1000" id="table1" bordercolor="#000000">
<tr>
Vermutlich nutzen die anderen Browser (also die "Nicht-Firefox"-Browser) eine andere Fehlerkorrektur und stellen das Menü deshalb dar.