On face value, it looks to me that your recovery approach is sound (but of course, the devil is in the details). If you're getting inconsistent results, try running the same query in cqlsh with CONSISTENCY ALL (to force a read-repair from both replicas). If you get the expected result, that would indicate that the repair wasn't successful (for whatever reason).
On the second issue, can you post an example of the full error message plus the stack trace so we can review? Cheers!