Found this while trolling the internets… Works Perfectly
add_action('admin_init', 'set_user_metaboxes'); //I want it to fire every time edit post screen comes up
//add_action('user_register', 'set_user_metaboxes'); //You can also have it only set when a new user is created
function set_user_metaboxes($user_id=NULL) {
//These are the metakeys we will need to update
$meta_key['order'] = 'meta-box-order_events';
$meta_key['hidden'] = 'metaboxhidden_events';
//So this can be used without hooking into user_register
if ( ! $user_id)
$user_id = get_current_user_id();
//Set the default order if it has not been set yet by the user. These are WP handles
if ( ! get_user_meta( $user_id, $meta_key['order'], true) ) {
$meta_value = array(
'side' => '',
'normal' => 'events_metabox,submitdiv, commentsdiv',
'advanced' => '',
);
update_user_meta( $user_id, $meta_key['order'], $meta_value );
}
// Set the default hidden boxes if it has not been set yet by the user
if ( ! get_user_meta( $user_id, $meta_key['hidden'], true) ) {
$meta_value = array('postcustom','trackbacksdiv','commentstatusdiv','commentsdiv','slugdiv','authordiv','revisionsdiv','postexcerpt','postimagediv','tagsdiv-post_tag');
update_user_meta( $user_id, $meta_key['hidden'], $meta_value );
}
}//#end