OK. I understand those records where created BEFORE you defined your new column.
I checked the internal code

$s(%val="":"",1:$zdatetime($zdTH($zdatetimeh(%val,3,,,,,,,,0),-3),3,,3))

This tells me:
- Your value is Not Empty 
- it has no valid time format, so it is trapped by the ERROR option and set to Zero  ==>> 1840-12-31 00:00:00

Suggestion:
- set value to NULL for old records.
or
- create your own data type for this case. 
or

- use a calculated Property  to trap the values

embedded SQL is probably an overkill for this formating.
Just convert it to the internal format, add what you need and assemble the pieces in COS

; set datein=201906192359
; set add=60    ;; seconds to add
set dh=$ZDH($e(datein,1,8),8)
set hh=$e(datein,9,10)
set mi=$e(datein,11,12)
set new=$ZTH(hh_":"_mi_":00",3)+add
set zdt=$zdt(new\86400+dh_","_(new#86400),3)
set dateout=$tr($e(zdt,1,*-3),"-: ")

Allmost!  3rd Update

since if the left side is a Unix Timestamp, then you get this result:

write $zdt($zdth(1591891200000\1000,-2),3) ==> 2020-06-11 18:00:00

docs: https://docs.intersystems.com/iris20201/csp/docbook/Doc.View.cls?KEY=RCOS_fzdatetime 

timezone conversion from UTC may compensate  the 6 hours difference ! 
 in Middle Europ we have we have 2 hrs+  to UTC so

write $zdt($zdt($zdth(1591891200000\1000,-2),-3),3)
2020-06-11 16:00:00

17:45 Intermediate data   each run stand alone
Total lines in MgmtPortal / Explorer = 388947    $ZH shows seconds 

Command:    s h=$zh zw ^SYS s h=$zh-h w !! zw h
Terminal:      h=187.786676
PuTTY:       h=11.962381
WebTerminal:    *** to be supplied once finished ***       
18:10 *** 1st run ended with no result no new sessions, browser restart required. ***
                   

19:59  *** not completed *** ~60% done terminates with "See you!" 

Additional: test for HTTP influence.

A small CSP page (next reply) does it with

h=9.835974
even faster than PuTTY