Vanishing Cursor in TEXTFIELD

I have a subclass of a textfield that does custom validation.

a) the user types in data [reset colors to normal if there had been an error… see #C)
b) when the user hits tab/return/enter, it validates the input
c) if it FAILS, it sets the textfield to RED background, WHITE text, and does a SELECTALL by setting SELSTART/LEN, and sets focus back to the control… GOTO A
d) if it passes, focus moves to the next control

But if the process moves from “C” back to “A” … the cursor while technically still there… is now the highlight color instead of black

NOTE : I am NOT using VALIDATIONERROR event, as the types of situations do not lend themselves to an edit mask

Also this works properly in CARBON and WIN7

Ok… I have determined the problem is the fact that I am changing the foreground and background colors to indicate to the user there is an error (step C). If I simply comment out the lines that set the colors… the cursor remains BLACK as it shoud