Ah na denn, siehe Grafik ob ich´s nun richtig verstanden hab
ansonsten Bsp.Projekt im Anhang.
Für sowas gibt´s das AfterItemPaint, wenn du das im OnDrawText benutzt kannst du das Rectangle zwar definieren wie du willst, es wird trotzdem jedesmal die Column (also auch die NachbarColumns) neu gezeichnet, und somit deine übermalte Column kurz gezeichnet und dann gleich wieder überpinselt.
Edit: TreeView Version 6.4.1. aber das sollte wohl kaum einen Unterschied machen