CHAR(19) è troppo piccolo per memorizzare l'intera data in millisecondi.
Utilizzare invece CHAR(26):
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T.%f') AS CHAR(26)) AS REGDT
);
o rimuovi i millisecondi:
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T') AS CHAR(19)) AS REGDT
);
Potresti anche usare un tipo DATETIME invece di una stringa.