En tu primer código, en la función que ejecutará wp_cron, no tienes puesta la línea clave:
Código PHP:
$wpdb->query($querystr);
Asegúrate que aparece correctamente en el código que estás probando. Punto y a parte, debes saber que aunque tu programes el evento para que se ejecute cada hora, no lo hará a menos que alguien visite tu página 1 vez cada hora. Es decir, si no recibe ni una visita en 3 días el evento no se ejecutará, a pesar de haber indicado que se ejecute cada hora.
Si todo esto ya lo has comprobado y sigues sin encontrar el error, trata de testear más a fondo forzando la ejecución de wp_cron():
Código PHP:
<?php wp_cron() ?>
Y en vez de una consulta de actualización, cambia por ejemplo el meta de un post, o cualquier otra acción sencilla que pueda generar un resultado claro.