SirThornberry hat schon recht, irgendwas mußt gezeichnet werden, sonst sieht man das darunter liegende Fenster...
Meine empfehlung ist, bei Start der Texteingabe das Fenster komplett anzumalen, und bei Änderungen durch Tastatureingaben nur die Paint procedure aufrufen.
Nicht mit Refresh oder Repaint, damit erzwingst Du einen Neuaufbau des Hintergrundes.
Um besser helfen zu können platziere doch den Code, mit dem Du Probleme hast.
Folgendes ist eine Testkomponente mit der ich früher Experimentiert habe, sie zeigt den Umgang mit WM_ERASEBKGND.