b = CDate("18:30:00")

にするとOKになるんで今までDateDiff関数なんか使ったことないです。
DateAdd関数使うとミリ秒の誤差が発生するってことですよね?