well, almost all exploits are set to look into the E:\UDATA\XXXXXXXXXXXX\XXXXXXXXXXX dir, so if you are going to load the game from a memory card, it will give you the error 21 (file error I beleave). This is because it starts to load from the memory card, but the exploit then turns to the dir as listed above, and in your case, nothing is there, its still all on the memory card.
To fix this you have to hex edit the default.xbe to look to the memory card, and you have to be carefull on doing this. here is how it should be hexed....
x:y = "drive letter"\UDATA\XXXXXXXXX\XXXXXXXXXXX
(x) = Controller (y) = memcard slot (1 = top, 2 = bottom)
1:1 = H:\
1:2 = I:\
2:1 = J:\
2:2 = K:\
3:1 = L:\
3:2 = M:\
4:1 = N:\
4:2 = O:\
So, if you are going to use controller 2, and the bottom memory card slot (as an example), you will want to use the K:\UDATA\XXXXXXXX\XXXXXXXXXXX, but in normal cases, you are going to use controller one, top memory card slot, so you will want to hex default.xbe to point to H:\UDATA\XXXXX\XXXXXXXX\whatever.xbe, and dont forget to re-sign it with habibi key when done.
sorry for putting it so incriptive, but its late and I cant think of a better way to explain it right now.......