I had an issue with a custom node edit menu callback, that when the remove button is clicked to replace the current uploaded image, the whole widget disappears.
I already loaded node.pages.inc file as follows:
module_load_include('inc', 'node', 'node.pages');
BUT, apparently you should add these line to the menu item array:
'file path' => drupal_get_path('module', 'node'), 'file' => 'node.pages.inc',
It is not enough to just add
module_load_include('inc', 'node', 'node.pages'); before printing the form.