I've not tested [ISetHotkey] all that much but I have noticed that in more recent versions of ZBrush the hotkey part of the zscript button code does not always work. It seems quite likely that this also affects [ISetHotkey].
If you're wanting to set hotkeys on the fly then this could be a problem but it wouldn't be too difficult to set up your plugin so that it modifies the StartupHotkeys on first run (so long as you notify the user!).