TCustomHint в Delphi 2009 имеет четыре защищенные перегрузки ShowHint, которые при вызове позволяют размещать TCustomHint по требованию и в определенных местах:
procedure ShowHint; overload;
procedure ShowHint(Point: TPoint); overload;
procedure ShowHint(Rect: TRect); overload;
procedure ShowHint(Control: TControl); overload;
Все, что вам нужно сделать, это реализовать подсказку в нужном вам стиле (или просто перейти от TBalloonHint, если он достаточно близок) и сделать эти методы общедоступными, чтобы иметь возможность размещать подсказки где угодно и когда угодно хочу.
Примечание. Измените свойство Title в TCustomHint, чтобы изменить отображаемый текст, если только вы не используете ShowHint, который принимает TControl в качестве аргумента. В этом случае он получает его из свойства Hint элемента управления (и помещает его в свойство Title в TCustomHint).