Replace
If ((dtmNewWarrantStatusDateTime.Date = Date.Today) And (DateDiff(DateInterval.Minute, Date.Now, dtmNewWarrantStatusDateTime) < 4)) Then
Else
with
If (Date.Now < dtmNewWarrantStatusDateTime) Then
Else
but preferably
If (Date.Now > dtmNewWarrantStatusDateTime) Then
When you have an empty 'then' branch it is confusing when someone looks at your code.
If you are allowing a 4 minute window as it appears you are, subtract the dtmNewWarrantStatusDateTime from date.now and examine the timeinterval result's totalminutes property.
if ((date.now - dtmNewWarrantStatusDateTime).TotalMinutes < 4) then