I did find a work around. Which was what I suspected was the issue.
It hangs up because it is set to zoom in too far.
if you use the code:
geoLocate = new LocateButton({
map: map,
setScale: false
}, "LocateButton");
geoLocate.startup();
It will work and not reload the page on an iPad.