Здесь:
internal_Time = CDate(FormatDateTime(value, 4))
Ваше форматирование в строку , но затем преобразование обратно в Дата , поэтому форматирование теряется и значение преобразуется взначение даты VB, которое включает AM / PM, если его для отображения, то просто сохраните строку:
internal_Time = FormatDateTime(value, 4)