How are you doing the refresh. I tried it with the Sample Interactive Grids app Edit: Master Detail page and it worked using
apex.region("emp").refresh(); // change "emp" to your detail IG region static id.
The user can always explicitly refresh with Actions > Data > Refresh
You can do the same with:
but it is really the same as the simpler statement above.
You may also want to set the cache size as well.
when the page loads call
With the cache size set to 1 as long as you don't go back and forth between two master records it will always get new data.
There is an issue that keeps you from being able to set the cache size to 0.