You are using the region monitoring methods and their callbacks. Adding an external GPS won't help you with accuracy as those methods rely on internal OS location updates. Mainly from cellular and (primarily) wifi proximity. While GPS factors into it, the device will likely ignore everything coming from your external GPS and only apps written to take advantage of it will do anything.
Region monitoring can be exceptionally great, except when it isn't. If your device doesn't have cellular data, you have a strike against you. (iPod Touch and iPad Wifi) If you have Wifi off, or you are in a rural area with little to no access points, you are pretty much dead as far as region monitoring goes I'm afraid.
From the sounds of things, if you really want to go this route, you would have to write your own custom methods to draw the location out of the external device and monitor the updates manually. Not exactly ideal.
Sorry for the bad news. Hopefully this will help you spend your time on the problems you have and you won't waste time trying to get something to work that may not ever work. Good luck.