This morning I popped back into the garage before going to work and found that the Advance Dial on the back of the Gunson Timing Light had been turned up from its normal "zero" position. Must be from when I lent it to a friend. Anyway, as a result of that movement, it meant that my previous readings had been wrong. When I put the dial back to its default position, the timing on the bike is correct. So new CDI ordered for nothing :-(
Another thing... yesterday I was checking the timing using the left hand cylinder and didn't bother with the other side because the reading indicated that the timing was out, but since realising that the timing light dial was set incorrectly, I took a reading from the other cylinder and guess what? There was no reading at all because the inductive pickup wasn't detecting a pulse. Hmmmm. I checked to see if the spark plug was sparking and it was, so I removed the plug caps from their leads and snipped off 5mm of cable. I then refitted the plug caps into fresh cable. Connected the strobe and bingo! Looks like there had been enough connectivity between the cable and the cap for high-voltage to pass through, but not enough for the inductive pickup to detect. Sorted now!
So, it looks like I'm back to removing the carbs to find out what this problem is with the 5k rev limit.