The only thing I can think of is that in the process of customizing the
form, you did something different such as overlapping a form control with
something else, or perhaps it is because the form controls are out of order,
which might affect the JavaScript that is used to render a field as
required. If you go to a page on one of your sites where the form with the
required field does work, and open it in IE, then to the Menu > View >
Source you will see the reference to the JavaScript.
You can put the form controls back in order by rebuilding the form, but a
user posted a faster way, and it is described at the end of this article by
David Bartosik: Publisher web publication forms 101:
http://msmvps.com/blogs/dbartosik/archive/2006/01/07/80564.aspx
Sometimes I never figure out why things don't work, and like you I just
rebuild things...or reboot
DavidF