Not sure what you mean by "less hacky". My concern would be some other SQLException case creeping in that wasn't just an overflow/underflow issue. The code seems to throw SQLException for cases of invalid valueType  -- I'm not crazy about use of SQLException in this case since it's not all that likely to be user error). There's also a but of dodgy code in the castAs... methods that's causing me concern -- conversion from decimal to timestamp? really? BTW, does timestamp seem like a legit use case to you?
Some of the concern here is partly over the "IN ?" parameter option and how much or how little the param checker will guard against initializing some strangely-typed element that will silently fail to convert here and just be ignored.

In any case, it seems like this silencer should be filtering the exception cases much like what the nest loop index code does in its overflow/underflow code path.