Was mir grad als erstes mal auffällt:
Data_available = Ischarwaiting()
If Len(data_available) <> 0 Then

ist IMMER true. guck dir mal die hilfe zu ischarwaiting an. Vielleicht ist das ja schon die lösung