Hook/Cron Problem

And what do you think it should do?

Either you posted here only part of your code or it can’t do anything that makes sense. The only thing this function does is assigning a value to a variable. This SQL query is never executed, because you don’t execute it anywhere in your code.

I guess you want to do something like this:

if ( !wp_next_scheduled('re-post2') ) {
   wp_schedule_event( time(), 'hourly', 'rep-post2' );
}

function repostads() {
    global $wpdb;
    $querystr = "UPDATE $wpdb->posts 
    INNER JOIN $wpdb->repost
    ON $wpdb->posts.ID = $wpdb->repost.post_id
    AND $wpdb->repost.DIA_FINAL >= NOW()
    AND $wpdb->repost.ESTADO = 'OK'
    SET $wpdb->posts.post_date = NOW()";
    $wpbd->query( $querystr );
}
add_action ( 're-post2', 'repostads' );

I’m assuming here that your SQL query is correct.