Als erstes würde ich die Sprites alle während des Designs in eine ImageList laden. Damit sind die schon mal gleich mit in der Exe und das zeitraubende LoadFromFile fällt weg. Du musst dir nur die Indizes der einzelnen Bilder in der Imagelist irgendwo merken (z.B. als Konstanten).
Wenn du dann das Sprite wechseln willst, geht das einfach über
Delphi-Quellcode:
Player1.Picture.Bitmap := nil;
ImageList1.GetBitmap(<hier der Index>, Player1.Picture.Bitmap);