Thank you Schuppi.
The bike returned to me today and tried what you suggested. It did however not resolve the issue.
I did notice though that the error is back and that, despite the fact that the bike has done about 700km in the interim, the mileage still sits on 16777215.0 as per the previous autoscan.
Jughead, just a wild guess here. On automotive comms systems in general a very large +ve (or negative number close to 0) is used to indicate an error condition, or to indicate that the value is not available. For example, when you query the ECU it returns "-2" as the odometer value, but the scantool you are using incorrectly interprets this as an unsigned number, which would give you the result you see for a 24-bit number.
So, the odo might actually read as "-2" to indicate an error condition. This could also be why the display just shows 9's, as it cannot determine the actual odometer value.
I could be wrong, though. That's just how they do it on the J1939 CAN bus, used in trucks. I realise this does not help you solve the problem, I'm just throwing this out there.