Sorry. Trying to persuade yourself that the error message is lying to you is a very poor debugging strategy. I suggest you try a better strategy, namely to assume that the error message is correct and start working from there. Denial is just not a practical approach.
If your query relies on implicit conversion, the problem might be that your Java session locale differ from TOAD session locale, making identical query return different results. This typically happens with dates. See Avoid Implicit Conversions.
I'm just guessing, of course, as you didn't provide enough information. I may well be wrong.