Vaya cuantas respuestas,gracias gente.
Pues voy comentando cosas.
Jesús,he descartado que la causa esté en el hardware ya que mediante polling, haciendo uso del kbhit() dentro del bucle principal, consigo recibir los datos,que posteriormente proceso y redirijo al usb.
Cryn,he probado a descargar el buffer,tanto con getc() como con gets(string) y sigue igual.
Fastyx...jeje,tranquilo...aunque el dibujo que he puesto tampoco es un ejemplo de claridad.
Maunix,yo diría que si...voy a comprobarlo