Por el código q se usa para "paginar" .. lo que se hace es una consulta con el total de registros que arroja la consulta y luego se mueve el puntero interno con mssql_data_seek() para mostar los registros q correspondan a la pagina en cuestion (paginada) que inicia el bulce FOR:
Código PHP:
//..
for ($i=$reg1; $i<min($reg1+$tampag, $total); $i++) {
mssql_data_seek($result, $i);
$row = mssql_fetch_array($result);
//...
A nivel optimización no es de lo mejor .. pues para cada "página" se está haciendo una consulta al total de registros (obtenindo todos sus registros) para luego descartar la mayoria.ç
En el SQL de SQL server no hay un TOP? .. o similar al LIMIT de Mysql? ... Creo q por ahí deberia verse el tema por lo menos para dar el inicio del registro a leer y luego el xxx_data_seek() para obtener los registros q se tengan q mostrar por página.
Un saludo,