Meat of the error:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at KeySAV2.Form1.dumpPKX_SAV(Byte[] pkx, Int32 dumpnum, Int32 dumpstart)
at KeySAV2.Form1.DumpSAV(Object sender, EventArgs e)
Index of whatever it was reading from was beyond that of the file.
I'd try starting a new game and re-breaking (in case you shuffled boxes?), then using the Key that you obtained with the original save after you restore it back.