Using SET_ITEM_INSTANCE_PROPERTY ('block.button', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'QMS$BLACK_ON_YELLOW') do not change the apparence of the button. Tried also other QMS visual attribute, same thing !
Open the form with forms builder and check if QMS$BLACK_ON_YELLOW is available as a visual attribute. If not, then the template you use to generate the form in designer might not contain that visual attribute and you have to add it there.
Check also the event where you want to change this property. Maybe the event has not yet occured and therefore the item is not changed.