The solution is to forget Sencha's references all together and use plain old Javacript (this is the latest in a series of ongoing issues I've had with Sencha References and Controls not working properly).
So this is the code I was using to show the button which didn't work (dictionaryEntryButton is a Ref to the button in the navigation bar with id = dictionaryEntryButton)
and this is the code that works
var dict_button = document.getElementById('dictionaryEntryButton');
dict_button.style.visibility = 'visible';