First thing that hits me is "Is this form using any computations prior to load", in e.g. DbLookup or DbColumn and there's not accessible over Web?
Alternatively there is some other validation going wrong. What I use to do in these cases is to make a copy of the form, rename the copy for backup purposes, and start 'stripping' away the code. I normally take the lower part and 'delete' it (CTRL+X), save the form, test it via web, and paste in chunks until the error comes. Based on the last paste performed then I know the last 5-10 fields pasted in, and look through those to see if there is non-web compatible code there, or any other lookups or validations going wrong...
A bit tideous, but it ALWAYS works!
Brgds,
TrooDOS