1) Turns out this error exists because the changes made to the P5 trunk/ have (apparently) not been folded back into the P5-Pure/ branch for awhile. I changed tei_enrich.odd removing the <defaultVal> in question on 2015-06-25. 2) But if their thinking was "if the attribute is not supplied, it should be assumed to take the default value", it is faulty thinking. If the attribute is not supplied, the user gets a validation error message because a required attribute was not supplied.
I think their thinking was that if the attribute is not supplied, it should be assumed to take the default value, but that if the default value was not appropriate then an attribute must be supplied. Muddled, I agree, but that's not really the point here. Making it generate a warning rather than an error would be highly desirable.