Time sort with meta_key using UNIX timestamp failing due to date differences

I will caveat this by saying that I am still not 100% sure I know what you are doing, but I believe the following will sort your results by time only assuming that your meta values are proper Unix timestamps.

function orderby_time_only($orderby) {
  remove_action('posts_orderby','orderby_time_only');
  return preg_replace('|(.*)\s(.*)|','DATE_FORMAT(FROM_UNIXTIME($1),"%k%i") $2',$orderby);
}
add_filter('posts_orderby','orderby_time_only');

$args = array(
    'post_type' => 'event',
    'posts_per_page' => -1,
    'nopaging' => true,
    'post_status' => 'publish',
    'meta_key' => 'start_time',
    'orderby' => 'meta_value',
    'order' => 'ASC'
);
$my_query = new WP_Query( $args );

The date itself is ignored so if you have multiple dates mixed together that should not be, they will get scrambled.

The add_filter line should come immediately before the query you want it to influence but the callback can be defined elsewhere.