Did you set this...
Quote: "SET SPRITE Sprite Number, Backsave, Transparency"
To this?
Quote: "SET SPRITE Sprite Number, 0, Transparency"
You probably did that already, but you never now. Sprites with backsave is very slow.
Also, you said you are deleting them and cloning them. Perhaps this is your problem. Instead of deleting them, you should use a resourced management system that reuses old sprites instead of deleting them. When you call the
Sprite command, you can just specify a new image, and it will replace the old one. In that manner, you can use the same sprites over and over again.
Ideally, you'd have a system that requests a sprite for a new tile. It generates a new sprite until the requests stop. It would recycle old sprites. Any time the system needed more sprites (say, a multi layered building popped up on screen) and there weren't enough, it would just request more.
That's how I'd do it, anyway. Like Rich said, you can use far fewer sprites to cover the screen. You've got to manage things efficiently.

Come see the WIP!