Da du keinen Wert in der Funktion zurück gibst (kein "Result := ..."), kannst du eine Prozedur daraus machen:
procedure TForm1.VolumeChange(Position: Integer);
Warum eigentlich eine Function, wenn du kein Ergebnis zurücklieferst ?
Hier sollte sich Delphi ja sowieso beschweren, da das Funtionsergebnis (Result) nicht gesetzt wird und somit undefiniert/zufällig ist.