According to the [codex](https://codex.wordpress.org/Function_Reference/get_most_recent_post_of_user), you're manipulating `get_most_recent_post_of_user()` the wrong way.  
`get_most_recent_post_of_user()` directly returns the **post_date_gmt** among **blog_id**, **post_id**, and **post_gmt_ts**.  

So firstly, to get last post's date:

    $user_id        = $post->post_author;
    $last_post      = get_most_recent_post_of_user( $user_id );
    $last_post_date = $author_last_post['post_date_gmt'];

Then, get the **other** post's date to compare against the **last** post's date:

    $post_date = $post->post_date_gmt;

Note that we now have 2 **GMT** dates to deal with. For comparaison, we'll convert them to timestamp:

    $last_post_date = strtotime( $last_post_date );
    $post_date      = strtotime( $post_date );

    if ( $post_date < $last_post_date )
        return;