Im übrigen war GLBasic für fast keinen von uns die erste Sprache, die Behauptung, dass ein Umgewöhnen nicht möglich sei, ist also nicht korrekt. Und ja die Beispiele funktionieren bei mir (und auch jedem anderen denke ich) ganz normal wie sie sollen (ohne ein neues Projekt erstellen zu müssen etc.), nur anklicken, kompilieren, läuft. Wenn also bei dir etwas nicht geht, was bei jedem von uns geht, dann kann es doch kein Systemfehler sein, oder sehe ich da etwas falsch? Wo der Fehler nun genau liegt, weiß ich nicht, aber ich weiß, dass es bei mir geht.
Wenn du code postest, dann bitte die code-tags nutzen: [code_][/code_] (jeweils ohne Unterstrich), ist so viel besser lesbar. Zu deinem Code und warum er nicht tut, was du beabsichtigtest:
Beim ersten liegt ein klarer Programmierfehler vor: Wenn du etwas ausgeben willst, malen schreiben etc. schreibst du nur auf den Backbuffer, erst der Befehl SHOWSCREEN vertauscht diesen mit dem Frontbuffer und gibt somit das gezeichnete aus (Frontbuffer hat dann den Inhalt den der BAckbuffer bisher hatte, Backbuffer ist leer/gelöscht, siehe CLEARSCREEN). Folglich muss SHOWSCREEN als letztes aufgerufen werden, nach allen Ausgabebefehlen, alles was du nach SHOWSCREEN zeichnet/schreibst wird erst mit dem nächsten SHOWSCREEN auf dem Bildschirm erscheinen. Du rufst SHOWSCREEN aber vor deinem PRINT "A=3" auf und nicht danach, folglich ist es logisch, dass diese Ausgabe nie auf dem Bildschirm erscheint. Schieb das SHOWSCREEN einfach nach hinten, direkt vor das MOUSEWAIT und es funktioniert wie beabsichtigt:
GLOBAL xres%,yres%
LOCAL a
GETDESKTOPSIZE xres%,yres%
xres=xres-100
yres=yres-100
SETSCREEN xres,yres,0
PRINT "Hallo Welt",100,80
a=3
IF a=3
PRINT "A=3",100,100
ENDIF
SHOWSCREEN
MOUSEWAIT
Dein zweites Beispiel gibt bei mir keinen leeren schwarzen Bildschirm, sondern ganz normal A=3 (ohne das Hello World), so wie es der Code vorgibt. Ich kann hier also keinen Bug und kein Problem erkennen. Bitte noch mal genau schauen ob bei dir wirklich keine Ausgabe auf dem Bildschirm ist.
Ich darf aber innerhalb von Bedingungen kein SETSCREEN bringen 
Verstehe ich nicht, das machst du doch in keinem deiner Beispiele? Im übrigen funktioniert es bei mir, gerade eben getestet.
Zum Netzwerk, TCP Senden und Empfangen funktioniert einwandfrei, habe es gerade eben getestet. Generell ist Netzwerk fortgeschrittene Programmierung und ich empfehle dringend, sich erst dann damit zu beschäftigen, wenn die GLBasic basis verinnerlicht wurde und funktioniert. Ich verstehe zwar, dass es für dein Projekt wichtig ist, zuerst zu testen, ob die benötigte Netzwerk-Funktionalität vorhanden ist, aber im Moment glaube ich, fehlt dir etwas die Basis und es ist sicher keine gute Idee gleich damit einsteigen zu wollen. Ich würde dir anbieten, dass wenn du einen ganz einfachen Testserver in deiner alten Sprache schreibst (nur Verbindung zulassen, nach der Verbindung einmalig eine Nachricht versenden und auf Nachrichten des Clients warten), dann schreibe ich einen kurzen testclient und du weißt dann, ob es sich lohnt GLBasic für dein Projekt zu lernen. Im übrigen empfehle ich Marmors Live-Hilfe-Angebot anzunehmen.
Alle Tests wurden gemacht mit GLBasic V12.312.