Vamos a ver... te comento las 4 instrucciones que dices has intentado:
... AND HoraInicio='" & xTerminar.Column(3) & "'" -> No te funcionará porque las fechas/horas van entre almohadillas (#) y no entre comillas ('), que es como van los textos. Por eso el error de que no coinciden los tipos (un texto no es una fecha)
... AND HoraInicio=#" & xTerminar.Column(3) & "#" -> esta es la que te tendría que funcionar, si el valor de la columna es una fecha y no un texto. El error de sintaxis probablemente venga provocado por eso: el cuadro combinado lo debe tomar como texto y no como fecha
... AND HoraInicio=#" & FormatDateTime(xTerminar.Column(3),vbLongTime) & "#" -> el mismo comentario que arriba
... AND HoraInicio=#" & FormatDateTime(xTerminar.Column(3),vbLongTime) & "#" -> El mismo comentario que en el primer caso (usar almohadillas en vez de comillas)
Sobre el uso de FormatDateTime: el valor del primer parámetro debe ser una fecha o una cadena de texto interpretable como fecha. Por ejemplo, en mi caso:
Si tengo una variable de fecha (uno) y le asigno el segundo valor (con el P.M.) el propio editor de VBA me dice que no es una fecha válida (lo marca en rojo y salta error de sintaxis si intento ejecutar el código. Si le doy un valor como el primero (con PM) lo acepta como fecha. Si la variable está definida como texto (variable dos), admite las dos sin problema.
Si ejecuto la primera parte del código, verás que formatDateTime interpreta los dos valores como fecha correctamente y los devuelve en formato fecha larga:
Si intento ejecutar la segunda parte (sin la variable uno, que ya da error solo por asignarle un valor incorrecto), error de que no coinciden los tipos, porque la cadena de texto no se interpreta como una fecha:
Me da que ese es el problema que tienes, que no te interpreta la fecha como fecha válida por los puntos del "p.m."
Una solución sería quitarle los puntos por ejemplo con la función Replace():
... AND HoraInicio=#" & FormatDateTime(Replace(xTerminar.Column(3),".",""),vbLongTime) & "#"
o
... AND HoraInicio=#" & Replace(xTerminar.Column(3),".","") & "#"
o
... AND HoraInicio=#" & Format(Replace(xTerminar.Column(3),".",""),"Long Time") & "#"