How can I prevent android apps from reformatting my SD card?
I've never heard of an app that formats the sdcard. The permission to modify the sdcard is so the application can "read/write" data to the sdcard. 

If you have an app that formats your sdcard, I would report the issue to the developer, plus to the Android Market.