No sé si es a lo que te refieres, pero en mi caso al principio los sprites se crean como deberían, pero al reiniciar con R es posible que aparezcan errores, a veces reiniciara correctamente, y otras veces agrega zonas incorrectas al sprite.
Esto se debe a que solo estas eliminando y recreando las surfaces, no las estas limpiando, entonces es posible que quede data de surfaces anteriores en ellas, usa un draw_clear_alpha(0,0) justo después de cada surface_set_target para limpiar la surface de cualquier data anterior.
Prueba a ver si eso ayuda también con el problema del comportamiento irregular en distintas maquinas.
Esto se debe a que solo estas eliminando y recreando las surfaces, no las estas limpiando, entonces es posible que quede data de surfaces anteriores en ellas, usa un draw_clear_alpha(0,0) justo después de cada surface_set_target para limpiar la surface de cualquier data anterior.
Prueba a ver si eso ayuda también con el problema del comportamiento irregular en distintas maquinas.