To give a better understanding of why the XNF primitives are more flexible than Unified library primitives, read page 72 which describes RAM/ROM primitives. The note at the bottom states, "that although the name of the symbol in the library may be RAM16x1 or ROM32x1, the symbol type is ALWAYS simply RAM or ROM. The implementation software determines whether a 16x1 or 32x1 memory is to be used based on the number of address inputs." This flexibility allows Synplify to use a generic name with out concern with the actual Unified library name.
In the 5.0 release, the Synplify mapper now uses Unified library primitives in both EDIF and XNF output formats. This also improves the readability of your design in the Technology View of HDL Analyst.