pero si ya tienes una paginación complicada, yo no veo el problema de hacer algo aún mas sencillo...
para evitar el problema de que la siguiente pagina no existe es muy sencillo, primero pregunta la cantidad paginas a mostrar, y de acuerdo a ese numero simplemente comparas, si la actual es menor a el total muestra el enlace Siguiente, si no... pues no!!