I can actually get 1,000,000 baud working. The problem was the error from the microcontroller was getting too high even in its high speed mode as it just did not have the resolution for super high baud rates (the micro only runs at 24Mhz).
When the baud divisor value on the micro gets into the single digits the step between each digit is quite large in terms of baud rate, so just happened to get lucky at 430600 and 600000 as they coincided with low error values. I had not realized at the time why these worked, but it is obvious now.
So am happy with 1MBaud. Quite a bump up from 115200 I would say.