Perhaps instead of looking at region tiles you could:
-maintain a set of variables pertaining to the x and y coordinates of all objects you can block the enemy with
-when the enemy is trapped for a set period of time, have him check if the tiles in his vicinity are the x and y coordinates of the objects, try to find an open space
-then give him a new move route to hopefully move around the obstacles
Obstacle detection is a form of AI, so you need to figure out what the enemy needs to do in as many cases as possible. A script may help, I recall seeing one about move routes. I can elaborate if needed, I tend to not make sense if I write a lot.
EDIT-
Here it is!