Well, I tried and tried again, and I've understood where the problem was: when the path is absolute, the Command$ is quoted, otherwise it isn't. The PathIsRelative checks correctly the path only if it isn't quoted.
So within this function:
Code:
Function IsRelative(Path As String) As Boolean
    Path = Replace(Path, Chr(34), vbNullString)
    IsRelative = (PathIsRelative(Path) And Not Len(Path) = 0))
End Function
I solved a problem xD