TIME 値の範囲は、'-838:59:59' から '838:59:59' です。

838、だと…?

sql - Why is MySQL's maximum time limit 838:59:59? - Stack Overflow
↑の記事によると、TIME型は内部的に整数値に変換されて格納されるらしい。※現行のバージョンでは違うかも
Hours * 10000 + Minutes * 100 + Seconds

つまり、「12:34:56」ならば整数「123456」になるということ。
で、3バイトの符号付き整数に格納するということらしいので、整数としての最大値は
0x7FFFFF = 8388607
時間にすると「838:86:07」。これは正しい時間ではない。最も大きい正しい時間は「838:59:59」となる。最小についても同様に「-838:59:59」ということになる。

これがMySQL3の時代の話らしく、バージョンアップでもっと大きい時間を入れられるようにはなったものの、下位互換のため制限したまま。ということらしい。

もっとも、厳密に言って正しい時間の最大値って「23:59:59」なわけで。拡大解釈で24時間以上も持てるようにしたってだけ、と考えると、まあ、このままでいいのかなー、って感じ?

ランダムなDATETIME値が欲しくて、
MySQLの日付・日時をテストデータ用にランダム生成 - Qiita
↑の記事を参考にして、
↓こんなことをしてしまって、
select addtime(now(), sec_to_time(RAND() * 4294967295));

Truncated incorrect time value: '370886852.25906146'

という目に遭ったワタクシメが困るくらいですよねー。

今回わかったことを踏まえて、こうするのが良いでしょう。
SELECT ADDTIME(DATE_SUB(NOW(), INTERVAL RAND() * 3653 DAY), -SEC_TO_TIME(FLOOR(RAND() * 86400)));

現在時刻より昔にしたかったので、DATE_SUB()関数を使い、ADDTIME()の第2引数をマイナスにしております。
これで、大体10年前から現在時刻までのランダムな時刻がえられるでしょう。