just because the Hide when calculation result changes is not enough: the object have to read again the result... All you need to do is add a Refresh script step for the button bar segments. Give a name to each segment, for example "Detail", "Photo" and "Map", and at the end of your script add:
Refresh Object ["Detail"]
Refresh Object ["Photo"]
Refresh Object ["Map"]
Thanks planteg, that solved the issue.