Is using attributes vs. elements in NIEM 3.0 different than NIEM 2.0 and 2.1?

No. The rationale for elements vs. attributes in NIEM remains the same: The NIEM release will use elements to model NIEM properties, unless this is not possible (usually due to a type having simple content), in which case it will use attributes.

The appinfo.xsd to employ attributes (instead of element properties) was changed for several reasons. The appinfo schema defines metadata about the model, schemas, and terminology, and does not contain payload content components. Appinfo is part of NIEM infrastructure that is designed to be relatively fixed, and does not require the flexibility that users/developers need for IEPD extension and corresponding model semantics. And finally, attributes tend to make appinfo annotations simpler and cleaner.