Yeah, that is a bit disappointing but there might be another way.
Just focussing on the smooth brushes lets say we can determine all their brush names, most likely by manually creating a list. We can then use the IGet command which will return 1 if a given smooth brush is selected and 0 if it is not. The following seems to work.
[IKeyPress, SHIFT, [VarSet, isSmoothBrushSelected, [IGet, “Brush:SmoothPeaks”]]]
[NoteBar, isSmoothBrushSelected]
The only problem would be detecting smooth brushes other than the default ZBrush ones. Perhaps searching the ZStartup/BrushPresets folder for brush files?
Btw Marcus, I think you should have the VarSet within the IkeyPress command although it does not seem to work either way.