There are a number of different ways that a field can be set as "required."
Some are set in the schema (.xsd) file. If a field must be present it will have its minOccurs attribute set to 1 instead of 0.
If a string type is set as "cannot be blank," it will be set as type requiredString instead of xsd:string, and numerical types that cannot be blank will not have the nillable="true" attribute.
Other validations specified in custom validation will be specified in the XSF file in the <xsf:customValidation> section.
I'd be happy to have a look at either of these files if you are still not sure where the troublesome node is.