No worries mate. I have done so much isometric stuff over the last year or so, including making hills/slopes and stuff. But MMF really isnt the best tool for big resolutions so I am moving to another program instead.
You can optimize this much more though.
Right now it is always finding which grid cell its in and updating the image from that which is a waste.
The best way to do this would be to add a few extra events that detects if the BIO is too far off the screen if the user has scrolled and then position it on the other side and update it then. This means that only the BIo that move need to be updated and keeps CPU usage right down. This is the way my previous engine works but this example should explain the basics

Should I update this to include slopes and heights? Would people actually find that useful?