I recommend to replace the following code of parseCommaDelimitString():

        if ( pathNames &&
             (srcptr[0]     == '"') &&
             (srcptr[len-1] == '"') ) {
            srcptr[len-1] = 0;
            len -= 2;
            srcptr++;
        }
        parsed_strings.Add( srcptr, (int)len + 1 );

to this:

        if ( pathNames &&
             (srcptr[0]     == '"') &&
             (srcptr[len-1] == '"') ) {
            srcptr[len-1] = 0;
            parsed_strings.Add( srcptr + 1, (int)len - 1 );
        }
        else
            parsed_strings.Add( srcptr, (int)len + 1 );

Regards,
--
Oleg