Animating tiles sounds nice. Your method looks clever as well, I didn't know you could that!
Let's hope Construct would support animating tiles in the future; e.g. letting us use frames in the tilemap editor. Otherwise, all our solutions will remain "hacky", in a way.
Let's say you are going to animate multiple tiles every frame, instead of replacing each tile, wouldn't it be easier to build a JSON string for the whole map in each frame, and use it to replace the whole map every frame?
Example: TMjsonFrame[0], TMjsonFrame[1],...TMjsonFrame[X] (built at Layout start or hardcoded during design)
Every Tick: Tilemap = TMjsonFrame[N]; N=(N+1) mod (X+1);
Also, I think scripting is worth a try, maybe it has easier access to the internals of the tilemap.
Oh, and speaking of tilemap forloops, here is a suggestion that will make them less painful. It has been 3 years already and still "No status" :'(
construct3.ideas.aha.io/ideas/C3-I-351