According to the W3C and this site the <form> element in XHTML 1.1 may only contain block level elements and <fieldset>.
As for why ... I believe that the reason that form may only contain block-level elements is because it is not considered an element in itself, but rather a wrapper around other elements. There was somediscussion of this in the w3c's mailing lists some years ago that I was able to dig up -- but nothing that actually answered the question.
Best Answer
There is no XHTML mode that will force you to do things semantically or correctly - you need to use knowledge for this.
(Just because a page passes validation, that does not mean it is semantically correct)
Here are a few links that may help:
Writing Semantic HTML
What is Semantic HTML?