Thanks for the replies guys.

Code:
procedure TFormGame.BulletCollision(Sender:TObject;var done:Boolean); 
begin 
   if (sender is TEnemy) then 
        begin 
             Enemy := TEnemy(sender); 
             if (not Enemy.Hit) then 
                begin 
                  Explode := TExplode.Create(dxSpriteEngine.Engine); 
                  Explode.X := Enemy.X; 
                  Explode.Y := Enemy.Y; 
                  Enemy.hit := true; 
                  Enemy.Dead;   <--------------- 
                  Bullet.Dead; 
                  Inc&#40;Points,100&#41;; 
                  Inc&#40;EnemyCount,1&#41;; 
                 &#91;b&#93; if &#40;enemy.hit&#41;then <---------// Should it be if         &#40;enemy.deaded&#41;?&#91;/b&#93; begin 
                    FormGame.DXWaveList.Items.Find&#40;'Explode'&#41;.Play&#40;false&#41;; 
                    Enemy &#58;= TEnemy.create&#40;dxspriteEngine.Engine&#41;; 
                  end; 

                end; 
        end 
         else
Or should it be :

Code:
   Enemy.Dead;   <--------------- 
                  Bullet.Dead; 
                  Inc&#40;Points,100&#41;; 
                  Inc&#40;EnemyCount,1&#41;; 
                  FormGame.DXWaveList.Items.Find&#40;'Explode'&#41;.Play&#40;false&#41;; 
                  Enemy &#58;= TEnemy.create&#40;dxspriteEngine.Engine&#41;;