The best I can think of is to copy the canvas to a raster-layer and put that raster-layer on its own layer group for operation's to toolpath off of - set up the canvas size to contain all of your tiles and then duplicate the raster-layer across it. You can use the raster-editing function for 2D tiling to automatically have it replace the contents of the layer with multiples of itself. The caveat is that generating toolpaths will be slower doing it this way - actually toolpathing off all of the tiles simultaneously. Size the raster-layer to the whole canvas (which should be sized multiples of the layer's size) and then use the same multiples for your cols/rows in the 2D tiling function.
Ideally, there would just be an option in the Export G-Code dialog to automatically tile the exported G-code by a specified number of rows/cols and at a set spacing in X and Y between the tiles. I think I could hammer that out pretty quick, in just a day or two. I'll add it to the todo list and see if I can't get it in there for the next update. Then you can just design and toolpath one tile and have the G-code export with copies at each tile's offset position - no toolpathing off all of the tiles at the same time.
Just make sure that your canvas resolution is high enough for holding all of the heightmap pixels at a decent quality level - particularly if you're going to use the raster 2D tiling function.
There might be a utility somewhere out there for automatically tiling an existing G-code program. At least, it wouldn't be something difficult for someone to do - they'd just have to insert some work offsets and repeat the code.
- Charlie