Thanks for your comments.
I tried the spritesheet you attached, and it fails on this line: id = LoadImage( file$ ). I loaded it in GIMP and exported as png with default settings and it loads without an error. Are you able to load the file you attached with LoadImage()?
Switching colors in the Mono tab takes under a second for me. I could probably do some of the work it takes in smaller steps in the background.
You can move the icon selection with ctrl+drag so you can define an icon, save, recolor, save, move the icon, save, change size, save, and like that. If you save without changing the icon, then you save each sprite in the grid as a separate file.
I couldn't reproduce the problem with dragging the grid. The grid can be as small as 1x1 or as large as your spritesheet.