Pintar directamene sobre el canvas, creo que en este caso es complicarte la vida, porque el texto a medida que suba va a ir dejandote un "rastro" (a no ser que sea eso lo que quieres).
Prueba a poner un Tlabel en el frmulario con nombre <lblTexto> y usa este código, a ver si es lo que necesitas:
Código Delphi
[-]
var
x,y, h:Integer;
begin
x:=20;
lblTexto.Left := imgcreditos.Left + x;
lblTexto.Font.Color := clRed;
lblTexto.Transparent := True;
for y := (imgcreditos.Height - 20) downto 0 do begin
lblTexto.Top := imgcreditos.Top + y;
Application.ProcessMessages;
sleep(10);
end;
lblTexto.Visible := False;