I have never used the StrComp function, but the error simply means that one of the values you are passing in is not the same type as the value the function should receive. I have run into this a few times when passing in an int into a double or something like that. Maybe explicitly cast them before they hit the function:
If Not (StrComp(Cstr(objRS("password")), cstr(strpass), _
vbBinaryCompare) = 0) Then
These are my thoughts. Maybe they are not even hitting close. Beyond this, I am not sure as of yet. Try that and see. Maybe recheck the parameter datatypes again.