Cheers for the suggestions, finally got it perfect after a bit more messing around. Looks like that M110 was dodgy, as I tried it in a mates gun and it was about similar to a M100.
Weirdly, swapping from the bearing spring guide to a standard plain one only dropped the FPS by around 2-3, so put the bearing one back in, and now I'm running the M115 spring, with 2.5 coils chopped off, and took another tooth off the pickup side, so now it's at 305fps on 0.25s, whether on semi or full auto at 29 rps and doesn't miss a beat!