Valeu, Peter...
os esclarecimentos que vc me passou, irão me ajudar muito, obrigado mesmo....
enquanto aguardava alguma resposta aqui na UT, eu fiz uma mudança de estratégia, veja:
1) faço uma consulta ao banco, trazendo para o cursor 50 registros antes e 50 depois, ou seja 50 < registro > 50.
2) com isso os botões anterior e próximo trabalham somente no cursor, quando então o usuário atingir o BOF() ou EOF() do cursor, que uma nova consulta ao servidor será requisitada.
3) além disso, existe um botão de consulta específica, retornando sim, o registro correto.
o que vc acha disso...