MicroBlaze can halt forever in performance version and with the C_DCACHE_ALWAYS_USED = 1.
This is caused due to the cache is not empty and a store to an address can get a tag hit.
These issues have been fixed in the latest release of MicroBlaze in EDK 10.1 Service Pack 2 available at:
http://www.xilinx.com/xlnx/xil_sw_updates_home.jsp