There’s a bug causing media uploads not to work when you limit their access to the admin area.
Here’s how to fix it (tested in WP 3.6):
Open file wpuf.php and goto line 173 – looks like this:
$valid_pages = array('admin-ajax.php', 'async-upload.php', 'media-upload.php');
Below that add:
if (!current_user_can('edit_post')) {
$user = new WP_User(get_current_user_id());
$user->add_cap('edit_post');
$user->add_cap('edit_others_pages');
$user->add_cap('edit_published_pages');
}
Then the user will get the capabilities to upload media files, even if you limit their access to the admin area.