Hey @Alberth , I'm sorry I didn't mean for it to come across as criticism.
Your contribution was very helpful in solving my problem, and I clicked ‘like’ on your response after reading it.
I too would have liked a solution that works for an infinite map, or an infinitely wrapping map, and for that reason I didn't make it clear that the map could be of a predetermined size.
You are absolutely right, the assumptions we can make are often problem-specific. In the end I implemented a solution which works for fixed sized maps, and makes use of the fact that an area which contains a boundary tile cannot be a hole.
All the responses I got were essentially the same approach, (flood-fills, determining whether a tile is inside or outside) and your initial response definitely got me and others thinking in the right direction, so again, thanks for your valuable input.