I believe this is due to a new change in the safecracker/libraries/safecracker_lib.php file for 2.5.3. It seems to be causing a lot of issues (like preventing the use of Safecracker in a Matrix field). Here's a forum link: http://ellislab.com/forums/viewthread/224822/P18/#1040436
Go to line 230 in safecracker_lib.php and you'll see the following:
if (isset($_FILES[$field['field_name']]['name']))
{
$_POST[$field['field_name']] = $_FILES[$field['field_name']];
}
Comment out $_POST[$field['field_name']] = $_FILES[$field['field_name']];
if (isset($_FILES[$field['field_name']]['name']))
{
/* HACK ppohler 11/13/2012, fix issue with Safecracker inside of Matrix */
//$_POST[$field['field_name']] = $_FILES[$field['field_name']]['name'];
/* HACK */
}
Now safecracker_add_prefix should work (as well as Matrix). Keep in mind you'll want to log that you've made this change in core somewhere in case you need to update EE.