Microchip have a free but non-distributable USB stack source code available.
However, what open source virtual serial port code exist? And which one should I invest my time in using?
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
I don't have a answer to your whole question, but I do have a open source USB stack for the Microchip 18F USB hardware. I have not implemented a serial port class, although that shouldn't be too hard of a layer on top of the code that is already there.
My USB code uses the hardware ping-pong buffering mode with triple software buffers per endpoint. You define which endpoints you use, their transport mode (bulk, interrupt, etc), how big each buffer should be, and the software configures itself to this at build time.
The USB firmware is in a incremental release you should install after installing the main PIC Development Environment release. Both are available at http://www.embedinc.com/pic/dload.htm.
I use bit-bang serial on most of my projects for debugging purposes. A good implementation you can find here: http://www.romanblack.com/bitbangserial.htm
For reading (and sometimes writing) I'm using RealTerm with a Serial-USB converter and thus think I'm protected against most mishaps.
I'm using 19k baud for almost everything since I haven't seen an error until now, but in some tests 56kBaud was also working ok (8MHz internal oscillator).
Might not be what you're looking for but others seeking for advice might find this useful.