Вообще говоря, так вы передвинете курсор и в qr.
В java все переменные являются ссылками.
qr2 = qr не копирует сам курсор, копируется только ссылка на него.
Кроме того, запрос все равно остается.
По-моему нет способа узнать есть ли следующая запись, не сделав попытку ее получить.
Там написано что всё передается по значению Truth #1: Everything in Java is passed by value
Значением переменной qr в моем примере является ссылка на объект QueryRun. Таким образом копируется значение переменной (которое есть ссылка на объект).