El problema este:
Este codigo está de más.
Código:
$row = mssql_fetch_row($result);
$querychar = "Select Name From Character where Ctlcode=8";
$resultchar = mssql_query( $querychar );
$accchar = mssql_fetch_row($resultchar);
$querychar = "Select Name, Class, clevel, MapNumber From Character where Name='$accchar[0]'";
$resultchar = mssql_query( $querychar );
$charr = mssql_fetch_row($resultchar);
fijate que en las primeras lineas haces la primera consulta, y despues por cada registro hces de nuevo la consulta, entonces siempre te vá a mostrar el primer registro.
Lo unico que tenes que haces es quitar las consultas del bucle y utilizar la del principio.