Hola de nuevo:c

¿Existen funciones para que las tiles se muevan horizontalmente, y eliminarlas luego de que estas salgan de la room?

Si es asi, ¿ donde se escribiria el codigo?  O solamente se debe ocupar objetos?:(

Tengo entendido que entre tiles y objetos,  las tiles son menos pesadas para un juego:C

Hay un par de funciones que te permiten mover todos los tiles de una capa(tile_layer_shift(depth, x, y)) o mover un tile en especifico (tile_set_position(index, x, y)).
Lo complicado seria la parte de eliminar los tiles o al menos a mi no se me ocurre como hacerlo para tu ejemplo, aunque al ser tiles no me parece tampoco necesario eliminarlos.

para poder eliminar las tiles el index es el tile, es como tomar la id de una instancia al crearla, ejemplo

i = instance_create(x,y,obj)

de esta forma se toma una id de una instancia en cambio cuando creas el tile es asi

i = ( el comando para crear la tile )

Puedes colocar un objeto en la zona donde se deben borrar las tiles y ejecutar algo como esto
[gml]
tile_id = tile_layer_find(DEPTH, x,y);
if (tile_id <> -1) tile_delete(tile_id);
[/gml]