I'll grab it when I finish work this afternoon. Can you just give me a rundown on those spawn hell and tile 55 questions?
Edit: So I'm having a play around with it now, and while I haven't encountered any issues, I can give you a few comments on your design.
Firstly, the game has incredible lag. You have 3 parallel process common events all running at the same time, and none of them has a Wait command anywhere. Do you need all three of them? Can you combine them into just one? Or for the first two, can you add a Wait on every frame? Do those checks really need to be done 60 times a second?
Second, your common event for the cave building is massive. I would break it up into several common events. I have done this myself just to make it easier to see what's what. The first common event is set to parallel process. All it does is monitor for a keypress, and when that happens it calls the second and third common events. The second common event sets variables 13-20 based on the player's facing direction. The third common event is the one that handles changing the tiles. I have removed the cave counter loop, and just said "change the tile in front of the player, then the one in front of that, the one to the left, and the one to the right". For each of those last three, it calls the final common event which is the one that determines the tile id to change it to. In that common event, every time variable 21 is set, I added an Exit Event Processing command. This means it will only do a couple of conditions before determining the next tile id to draw, and will then jump out, rather than continue to do checks we know aren't going to be true.
Now the one serious issue that I found, after splitting all of that up and adding some console output each time a tile is changed, is that you have some errors in the section where you're determining what tile to draw. If you play with the console visible, you will probably run across this error sooner or later, as it outputs lots of red text to the console. You have several IF conditions where you say $gameVariables.value(12) = 999 and $gameVariables.value(12) = 1000. Those should be == and not = because the first is the comparison operator, and the second is the assignment. This needs to be fixed in every location where you've done it. It's not the cause of your problem though. I still haven't been able to reproduce it, so am continuing to try.
How exactly do you know that there's an issue with the Get Location Info command and that it SHOULD be returning a non-zero value but it's returning zero? Which variable are you looking at in the debug window, what are you expecting it to be, and what do you see on the map that indicates it hasn't worked? Can you make it happen then open the debug window, and grab a screenshot so I can see the map AND the debug window with the variable values? It seems to be doing exactly what I expect it to be doing.
Edit 2: Okay, I've got it. The issue is with your cave counter loop, going from 1 to 3, and the tests that are done inside. In some cases, if the tile it's about to draw has already been drawn (because you've changed direction), it won't attempt to draw the next tile. For example, you are going left and dig a tile. The tile in front of you changes to 17, and the one to the left, above and below it change as well. Then you step forward onto that tile and turn to face up. You dig. The tile in front of you changes to 17. Cave counter is 0, so it draws the tile above the one it's just done, and changes cave counter to 1. On the next iteration it's trying to draw the tile to the right, but it's already been drawn, so the tile id from Get Location Info is not 0. Therefore it does not redraw that tile, and it also doesn't increment cave counter. So the third tile, to the left, is never drawn because the test for cave counter = 2 fails. The next time you move, it will draw tile 17 in front of the player, but when it goes to draw the surrounding tiles, cave counter is already 1, so it's not going to draw the tile beyond and will go straight to checking left and right tiles.
The way I have rearranged your common event, removing the cave counter altogether, and tidying up (compressing) some of your other logic, this issue is completely removed. I will do a bit more testing, and will then send your common event file back to you. Just back up the one you already have, replace it with my version, and take a look at how I've reorganized things.