How can you have used up a 512kB MMC card if the CPU only has 128 kB ?????
I am assuming you are working with the IM151-8. Or are you not ?
I often use 64kB cards because they are so cheap and quite often the program will fit in it.
Are you possibly using the "Save to memory card" function ? If so, this stores also the STEP7 project, comments and symbols and all which explains the amount of storage needed.
As to why Siemens dont support regular "MultiMedia Cards" then I can think of the following reasons:
The S7 CPU is not a PC and thus does not support relatively complex drive formats - such as FAT. It is probably a very simple drive format.
By not allowing consumer grade MMC cards, Siemens avoid the inevitable surge of complaints from inventive (=cheapskate) users with failed cards (and no, consumer grade flash cards should NEVER EVER be used in an industrial application).
That, or they really want to rip us off.