I think the usage of the DMA2D is not causing the problem directly - maybe the changed timing or the changed memory bandwidth is showing the problem.
In order to find the reason for the hardfault, here some ideas to check:
1.) Have you checked your SDRAM to get 100% reliable data? You can use the SDRAM memory test.
2.) Can you please ensure / doublecheck that the GUI application is NOT entered by any other threads/tasks except the GUI thread/task?
3.) Have you checked / adapted your MPU settings according ST application note AN4861? Wrong MPU settings may cause a read access outside the memory areas of your hardware.
4.) Can you try to switch off the compiler optimization? Does this change the effect? Btw: What compiler are you using?