GMLive doesn't recognize tilesets because there used to be no way to enumerate them at runtime. It does seem like tileset_get_name was added recently, so I should be able to address that. As a workaround you could assign it into a global variable for use with GMLive.
Not sure what the shader note has to do with this - GMLive cannot live-update shaders; if your code errors halfway through, you may get unbalanced draw stack.