The vaule of $hack[dateline] is whatever the value of TIMENOW is at the time it inserts into the database. This is weird i've never had a problem before.
12-31-1969 means there is an invalid timestamp or something is wrong with the input where you call vbdate(). What's in the database? Check to make sure dateline is an integer and it has enough characters to hold a full timestamp. That's where I would start.
BTW, the significance of that date (or Jan 1 1970 as it sometimes will appear) is a timestamp or 0 or a negative value. A UNIX timestamp is the number of seconds since midnight of January 1st, 1970.