Hi Jon,
The caret should be automatically using Black or White based on what text area background it detects. It first examines SyntaxEditor.BackColor. If that Color value is Empty, it will look at the highlighting style registered for the PlainText display classification type to see what its Background is.
I just did a quick test by putting this at the end of the MainControl.cs constructor for our main SyntaxEditor demo and I see a white caret on a black text area background:
editor.BackColor = Color.Black;
Note this is in our codebase for the upcoming maintenance release, but I believe it worked the same in v22.1.0.
There also is this option that you can use in the WinForms SyntaxEditor, which tries to XOR render the caret on top of what's below it:
editor.UseInvertedCaret = true;