Könntest du bitte deinem Beitrag einen aussagekräftigen Titel geben?!
Zu deinem Problem:
eine Fehlerquelle kann das sein: if (ststatus = True)
Zum anderne scheinst du das Prinzip der Ausgabe unter Windows nicht zu kennen:
Wenn du etwas auf eine Canvas malst ist es nur solange sichtbar bis etwas drüber gemalt wird.
Wenn dein Formular also noch nicht sichtbar ist und du malst auf das Canvas ist das gemalte auch nicht sichtbar.
Angenommen deine Paintbox ist sichtbar, du malst etwas drauf und legst dann etwas kurzzeitig über die Paintbox ist das gemalte wieder weg.
Stell dir am besten vor der Bildschirm ist ein Blatt papier. Wenn du auf Paintbox.Canvas was malst wird das auf das Papier des Bildschirms überträgen (an der Stelle wo die Paintbox liegt). Da deine Paintbox nicht sichtbar ist kannst du auch nichts an die Stelle auf dem Papier/Bildschirm malen.
Ist deine Paintbox sichtbar so ist dein gemaltes nur solange sichtbar bis etwas anderes an der Stelle auf dem Papier/Bildschirm war (denn das andere übermalt dein Bild). Sobald also das andere weg ist musst du wieder malen. Nutze daher OnPaint der Paintbox damit du immer malst wenn es notwendig ist.