Yes, you missed you are using a Mega 2560 which has limited speed. 800 steps per mm * 100mm/s = 80000 mm/s. Limit you can reach with that processor is around 40KHz. Reduce resolution if you want to go faster. Alternatively switch to Arduino Due + RADDS shield, then you can achieve 300-400KHz.
BTW: Speed limit 100 is not much if your head is not very heavy. 200-400 is normally possible from the motor side. Not that it makes sense to print that fast:-)