Is this the blum laser? Which controller?
On my DMU60/Heidenhain/Blum the following things have mattered in the past.
1. Calibrate the laser tool setter with the calibration artifact (special tool) which you hopefully have. If the machine "settles", or just with the passage of time, the length calibration can change. (Or maybe it's a thermal issue? Seems funny that a 3 footed machine would "settle" - but I found the calibration changed and got better results after recalibration.)
2. With drills, mine sometimes won't pick up the length at all - a fair amount of the time I can solve this by cleaning the tip. (I've not had this problem with ball mills) Silly putty can be helpful to clean the tips - this may be part of your problem with spot drills as well.
3. Is your ball endmill problem only length? I find that my programs don't run well unless I measure (rather than use nominal value) for the diameter of the ball endmill. (example - with a ball endmill, even if the length is right if diameter is 0.498 rather than 0.500 seems to cause a lot of problems.)