If the "system.xmp" file is instantiated in a generate statement, the path in the BMM file will be incorrect. The following is an example of an incorrect BMM path:
<top_level>/<system_instance_name>/ppc_core/bram1/bram1/ramb16_0 [31:30] ;
The correct path in the BMM file is as follows:
<top_level>/<generate_label>.<system_instance_name>/ppc_core/bram1/bram1/ramb16_0 [31:30] ;
To prevent ISE software from overwriting the modifications that you made in the file, mark the file as read only.