I have a widget that was having the same issues as Image Widget once was: code that was attached to sidebar_admin_setup action was not firing when using the widget in a page, but would work fine on the global widgets. Around line 1286 of wp-page-widgets.php I see hardcoded code to fix Image Widget. But what about any other widgets that need this action?
Instead of the code for Image Widget, how about doing:
This fixed my widget. Is there a reason not to call do_action? If there is no downside, this generic fix would work for any widget the requires the sidebar_admin_setup action.