Bueno, el primero será por un error tuyo al colocar las warps. A cada warp se le asigna el número del warp al que quiere ir. Puedes subir porque en el 3er piso solo hay un warp, y el warp que sube busca el único que hay aunque no le asignes un número. Pero el problema está cuando quieres bajar, ya que hay 2 o más warps y el programa no sabe cuál coger. Lo que tienes que hacer es ver qué numero es el warp del 3er piso (lo pone arriba del panel que está a la derecha). Después vas al warp que sube al 3er piso y vas a donde pone "numero de warp: X " donde X es el numero que tiene, y ahí pones el numero del warp del 3er piso.
En cuanto a lo otro, muchas veces el problema es que el tile no tiene asignada la propiedad de warp. Para eso tienes que ir al editor de tiles, el cual está representado como una pieza de puzzle en la barra de menus. Después, en la imagen de la izquierda buscas el tile de la entrada a la cueva, lo clicas y en la derecha aparecerá una zona: "comportamiento-byte" y en la casilla de la izquierda pones 69, y la derecha la dejas en 00.
Si no entiendes algo o no funciona lo que pongo, dilo