For anyone that comes across this in the future, I'm running the USB CDC Virtual COM demo found in KSDK 1.3.0 with my MK22F device and I was required to only set DtrEnable = true in my C# application.
m_SerialPort = new SerialPort("COM1", 115200, Parity.None, 8, StopBits.One)
{
DtrEnable = true
};
If you set a breakpoint in the firmware, when start_transactions = TRUE, then you know the data will be received.