Okay, every actor has a name, cloneindex, and clonename. An Actor* is a way of accessing an actor's variables (like x, y, animpos, animindex...). All an Actor* is, is a way of accessing any of the actor's variables. So you can use actor->name, or actor->clonename. But, only use this on existing actors.
Your use of getclone does that. But, it uses getclone on a non-existing actor, so it can get a fake Actor*. If you want to create a clone, you just need to create another Tile actor.
When you use CreateActor, the first parameter needs a name variable, not a clonename. You accounted for this in your code, by using ->name. But, the name is the same thing as the clonename without the .cloneindex.
For generating the map, you'll most likely have a nested for loop, with CreateActor inside.