Meine Empfehlung: nicht im RowTag das Datum speichern, sondern gleich im CellTag der Spalte als Secondsfrom1970.
Dann sieht die Funktion so aus:
Select Case column
Case 0 // Date column
If Val(Me.CellTagAt(row1, column)) < Val(Me.CellTagAt(row2, column)) Then
result = -1
ElseIf Val(Me.CellTagAt(row1, column)) > Val(Me.CellTagAt(row2, column)) Then
result = 1
Else
result = 0
End If
Return True
```