Zunächst benötigt man einen Resource-Editor (man kann Cursors auch von Dateien laden, aber das ist umständlicher. Wer Geld ausgeben will, kann sich den Resource Builder holen. Nettes Tool, aber teuer.
Es gibt auch die kostenlose Alternative XN Resource Editor. Die weiteren Ausführungen beziehen sich auf diesen Editor.
Also mit diesem über RESOURCE -> ADD RESOURCE -> CURSOR GROUP eine Cursor erstellen

Danach die Cursor-Resource anwählen und ein schickes Bild malen

Die rot umrandete Ziffer für merken oder wenn einfacher -> aufschreiben
Wenn der Cursor fertig ist, alles über FILE -> SAVE AS als *.res Datei speichern. Dabei unbedingt einen anderen Namen wählen als das Programmprojekt. Es wird dann eine compilierte Rsourcendatei abgespeichert. Im C++Builder diese nun über PROJEKT -> DEM PROJEKT HINZUFÜGEN mit in das Projekt aufnehmen.
Nun haben wir eine Resourcedatei mit einem Cursor in unserem Projekt.
Wir können den Cursor nunmehr beispielsweise im OnCreate Ereignis laden. Durch die Zuweisung an Screen->Cursor gilt er für das ganze Fomular. Das kann man ggf. auch nur für einzelne Komponenten machen.
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TCursor meiner=6;
Screen->Cursors[meiner]=LoadCursor(HInstance, MAKEINTRESOURCE(1));
Screen->Cursor = TCursor(meiner);
}
//---------------------------------------------------------------------------
Die oben gemerkte Ziffer aus der Resourcendatei wird als Macroparamter in das MAKEINTRESOURCE gesetzt. Das Array mit Curorbildern hat ja schon Inhalte (Screen->CursorCount). Also für "meiner" einen Wert nehmen, der keine vorhanden überschreibt.