+4  A: 

Because a heading is a block element and therefore gets pushed to the next line (since a block-level element displaying as block (or without an otherwise specified display-type [inline-block, inline, etc...] gets) can't share a line; I don't know if a list-element should (or shouldn't), according to spec, contain block level elements inside itself, or if it should be presumed to be 'sharing' the line with the contained element.

I could be wrong, about all of this, though; it's just the only explanation I could think of.

You may, also, find that there are default margins, padding or positioning being applied to the heading elements in Firefox. You could test with Firebug (or alternatives) to see where the positioning is coming from.


edit

After copy-pasting your code into my template file, and viewing in FF3.0.10 I don't see the problem you report. The resulting code I used is pasted below, if you haven't already resolved this, try the code, below, and see if the problem persists:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title></title><link rel="stylesheet" type="text/css" href="css/stylesheet.css" />
<style type="text/css">
    /* css reset */
    h1, h2, h3, h4, h5, h6, a { display: block; }

    /* list styling */
    ul {  width: 14em; margin: 1em auto;}
  </style>

</head>

<body>

<ul>
  <li>
    <h3>Primary</h3>
    <ul>
      <li>
        <h4>Secondary</h4>
        <ul>
          <li>
            <h5>Tertiary</h5>
            <ul>        
              <li><a href="#">Tertiary Link</a></li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
<ul>


</body>

</html>
David Thomas
I really appreciate you taking the time to copy and paste the code and test it in FF 3.0.10. I re downloaded FF 3.0.11 to test the code after I saw that you were using 3.0.x. I ran my code in FF 3.0 and found that it is still giving me the same problem. The code that you have pasted back into your answer is missing the CSS styling of "list-style-position: inside". Thank you again for taking the time to test this but it looks like I will still be in search of an answer to why this is happening.
Mike Grace
Thank you again for your kindness and efforts. +1 vote. ; )
Mike Grace
+1  A: 

I tried both samples and experimented a bit myself.

The differentiating factor is strangely "list-style-position". Somehow in FF, "inside" and "outside" have "inline" and "block" effects for the bullets.

I can't tell you why, probably need to dig into the rendering engine.

o.k.w
Thank you very much for taking the time to dig in and try this out for yourself. I will see if I can find some information on the rendering engine that Firefox and Camino use since they are both Mozilla products. +1 vote for your efforts. ; )
Mike Grace
Thanks and welcome! This question intrigued me too!
o.k.w
@o.k.w I found the answer and fixed my own problem! I am soo excited. I am writing the answer now and will post it soon. ; ) Thanks again for your help.
Mike Grace
@Mike Great! Looking forward to your answer!
o.k.w
+5  A: 
Mike Grace
Make sure you accept your answer.
Mike Farmer
Upvoted for the pure awesome of photographic evidence. Dude; that's just made me the most entertained person in this hemisphere =)
David Thomas
@Mike Farmer, Thanks, I will.
Mike Grace
@drthomas, Thank you. Words just weren't enough to describe my excitement so I had to use a picture. ; ) Thanks for the vote.
Mike Grace
@Mike That was a good one! Both the answer and the photo :) Glad I help in some way.
o.k.w
haha, well done to you then!
Justin Johnson
@o.k.w, Thank you and thank you for your help. See you around the stack. ;)@Justin Jodnson, Thanks.
Mike Grace
So, after some more review of my own answer it looks like I was right about the rendering engine having a bug about the rendering. Setting the UL list-style to disc however doesn't actually fix the problem, it just makes it look like it does. Doesn't look like there is a fix for this problem at this time except to use a different html layout to accomplish a similar effect. ; D
Mike Grace