A faster, easier, way to do it would be to throw in some simple show_debug_message() calls into the areas you think are a culprit. Once you've narrowed down when it's happening, you can figure out why.
You shouldn't have replace anything. It seems to me you've either mis-formed your grid size, or are letting your numbers go out of bounds. Either way, it shouldn't take more than a few hours at worst to narrow it down.
As for why, probably because it's a warning. GML only gives those specifics when the project reaches an exception. It probably could be added, but I'd argue accessing outside a grid's bounds should just crash to make it explicit you are doing something wrong.