As you mentioned business rule contains hidden prompts, it seems as if you have missed to set the default response value.
Set the default prompt values:
1. Edit the Global Variables used in the Business Rule
2. Enter a valid default member values for the hidden runtime prompts used by the Business Rule.
Hope this Helps.....
Regarding the RTP being shown:
If a rule is associated with a Form and uses "run on save", or if it attached to a menu item, and if it has two or more RTPs for the same dimension, then the RTPs will always be displayed, even if they are set to be hidden.
This is an expected behaviour. Try to avoid two or more RTPs from same dimension.
Hope this Helps.......