I did further testing. I load a pk6 file to party pokemon slot one and nothing else, then save it and load to the cart. I repeated this test 30 times. Only 2 times it don't result in save game corrupt. When it got corrupted, I restored back the previous working save game backup and make sure the game is working, before continuing with the test.
I then did another test, loading the same pk6 file to the box 1 slot 1 and nothing else, then save it and load to cart. Repeated the same for 30 times, all tried resulted in corrupted save game.
I really dont know what happened and what else I can try, only God can help me now.