Turns out this has nothing to do with your rewrite rules. Apache for Windows intentionally disallows colons in the first path segment. It's meant to avoid security issues, since the underlying filesystem also uses colons.
See https://issues.apache.org/bugzilla/show_bug.cgi?id=41441 for more into.
It works fine when I move my code to a Linux server
Uh-oh. There are situations when you can safely ignore a particular platform or a particular browser ... but if you've got an URL that only works on some servers, you should think seriously about changing the URL to something more interoperable. You can't go wrong with alphanumerics.
Thanks Dideved - I don't know how you found that out -- I spent ages trying/changing the htaccess file trying to get it to work!
I started off just copy-pasting your htaccess and tried a URL with a colon. Got a "Forbidden" response, which is unusual. Checked the error.log and saw the message "The given path is misformatted or contained invalid characters." Popped that error message into Google, and found the bug report I posted above.