[eluser]darkhouse[/eluser]
What happens is when you put something between <table> and <tr> (or anywhere you're not supposed to put elements) it actually renders before the table, so your code was actually being interpreted like this
Code:
<form></form>
<table>
<tr>...</tr>
<tr><td><input type="submit" /></td></tr>
</table>
So you see, your inputs were not actually in the form, and therefore the submit button did not know what to submit. It's actually the fact that IE and other browsers are so loose that they will still function if you use malformed html markup, and that throws people off. People often don't pay attention to html standards or valid markup, and it's the root of a lot of problems.
So, like I said, pay careful attention to your html structure, follow the standards, they're there for a reason. And make use of the validator, it's your friend.
Happy Coding.