Ok, I have been looking at the sprite engine and it appears if I call this:

[pascal]DXSpriteEngine.Engine.Clear;[/pascal]

Then I don't even have to write any other code at all and it will handle it for me and it avoids the error (most importantly) lol.

But just to confirm, does anyone know if this really dead and free's them all up? (e.g. anything in the spriteengine that isn't already dead and free'd).