A documentação do MySQL diz
E se você não tiver dados, ele apenas retornará os dois valores como NULL.
Se você quiser que a segunda consulta retorne o conjunto de resultados vazio também, você deve filtrar os valores NULL, por exemplo, com a cláusula HAVING que você pode usar com funções agregadas:
SELECT DISTINCT u_id, MAX(timestamp) as time FROM my_table GROUP BY u_id HAVING time IS NOT NULL;