I've found an easier way without the need for another procedure or an array, create one on the spot!
Without further ado:
Code:
 If (GetKeyState(32) and 128 = 128) And (Shot_Counter < 0)
  Then
  Begin
   Shot_Counter := 10;
   with THBullet.Create(Engine.Engine) Do // <--This Here's The Important line :)
    Begin
     Image := Sprites.Items.Find('Bullet');
     X := Hero.X + (Hero.Width DIV 2);
     Y := Hero.Y;
     Z := 13;
     Width := Image.Width;
     Height := Image.Height;
    End;//With
  End;//If
Of course all the movement is handled in the DoMove Procedure.