come to think of it, what you want is to replicate the selection (persistent selection).
That does exactly this: highlight a block, and keep it highlighted.
And selection uses Markup too.
Only you do not want to create like 20 selections. But on selection, with a list of start end pairs).
And a markup dealing with it
FBlockSelection := TSynEditSelection.Create(FTheLinesView, True);
fMarkupSelection := TSynEditMarkupSelection.Create(self, FBlockSelection);