I'm suspecting that the ":" is confusing VLC since it is also a port separator.
From the behaviour I've seen, I don't think the issue extends beyond Firefox, but I'll give this a try...
Nope. I may be wrong, but after trying it all sorts of different ways in Firefox, Opera and IE, and with different media players, I'm convinced this is not going to work the way you're trying to make it work. The closest I got to seeing anything working was (1) the file being "downloaded" and played from the temp directory or browser cache, or (2) the media player being launched immediately, but not being passed a valid file path.
I wonder if you're insisting the browser send the link selection back to Kroozbox, so Kroozbox can issue a command to play the file referred to in the link. Isn't there a way to make a plain file:\\\ link for the browser to use directly? In other words, like the
<a href="file:///E:\Viewed\Barbarian Invasions (2003) 7.8.avi">Text Link</a> I mentioned before—the file:/// modification, but also somehow preventing the uuencoding. I understand that's what you were trying to do with the ASX wrapper, but is there not a more direct way? Yes, I know, I'm reaching for straws...
To repeat my previous experiment—because I've changed so many things since trying it last—if I save
<a href="file:///E:\Video\Elite Squad (2007) 8.1 Disc 1.avi">Text Link</a> in a HTML file, selecting the link produces
file:///E:/Video/Elite%20Squad%20(2007)%208.1%20Disc%201.avi, which launches in my media player. The Froozbox link source is
<a href="file:///E%3a%2fVideo%2fElite%20Squad%20%282007%29%208%2e1%20Disc%201%2eavi"..., which produces
file:///E%3a%2fVideo%2fElite%20Squad%20%282007%29%208%2e1%20Disc%201%2eavi, which does nothing. So the problem seems to be the path is uuencoded in the source.