Перерыл интернет, но относительно формата хранения такого типа в Visual Basic 6 полная тишина.
Например, то что написано для MS SQL Server, а именно :
Выдержка из русскоязычного BOL:
Значения типа datetime хранятся в виде 4-байтовых целых чисел. Первые четыре байта содержат количество дней до или после даты отсчета: 1 января 1900 года. Дата отсчета является системной датой. Вторые четыре байта содержат текущее значение времени, представленного в виде трехсотых долей секунды, прошедших после полуночи.
Для VB6 не совсем подходит. Ибо при занулении тех 4 байт, отвечающих за время, время изменяется, но не обнуляется.
Для того, чтобы округлить значение даты/времени до одной даты (занулить время) приходится использовать такую конструкцию:
= DateAdd("d", DateDiff("d", 0, DT), 0), где DT - это округляемое значение.
Такой подход достаточно громоздкий и не очень хорош с точки зрения лени . Но при знании устройства этого формата, тоже самое можно было - бы получить используя булеву операцию с маской.