La documentazione di MySQL dice
E se non hai dati, restituisce solo entrambi i valori come NULL.
Se vuoi che anche la seconda query restituisca il set di risultati vuoto, devi filtrare i valori NULL ad esempio con la clausola HAVING che puoi utilizzare con le funzioni aggregate:
SELECT DISTINCT u_id, MAX(timestamp) as time FROM my_table GROUP BY u_id HAVING time IS NOT NULL;