I finally found where the problem with the BIOS was, it's with a function called cps3_dma_callback which is a bypass to execute the DMAs as the original CPS3 does.
For those who don't know what a DMA is, basically it's a way of copying blocks of data without making them going through the processor and therefore leaving it availiable to make other things. Basically your code, needs to send some instructions to a controller (disk drive, hard disk, CD, etc) and tell them which sector(s) to copy into which region(s) of memory. This controller has Direct Memory Access (DMA) and copies the data without your processor noticing it. When the copying process is ready a flag or IRQ is triggered.
Anyway, Mame is a very complex emulator and it uses a trick to emulate the DMA properly (when a DMA is performed it should bypass the encryption).
I have tried the BIOS with SFIII NG and SFIII-3 and in both works like a charm.
I have now created a full set of the 6 games completely unprotected and a BIOS based on the BIOS of SFIII-3.
Notice that all this is based on the assumption that a suicided cartridge will execute unencripted code.
If this doesn't happen to be the case, my next shot will be to use a signal analyser to see what communication is really going on between CPU and BIOS in a suicided cartridge. If it's reading something probably it will execute something....
I ordered some working and non working cartridges and I'll try to flash the new BIOS in them. Can't wait to have them with me....
more news soon.