Bueno, pues muestro el código q uso para mostrar los registros:
   Código PHP:
    <?php
$sql="SELECT id,marca,modelo,caracteristicas,precio,activo FROM catalogotlf ORDER BY id asc";
$consulta=mssql_query ($sql,$conec);
$filas=mssql_num_rows($consulta);
if ($filas>0) {
?>
<table align="center">
    <tr>
        <th><div align="center"><strong>ID</strong></div></th>
        <th><div align="center"><strong>MARCA</strong></div></th>
        <th><div align="center"><strong>MODELO</strong></div></th>
        <th><div align="center"><strong>CARACTERÍSTICAS</strong></div></th>
        <th><div align="center"><strong>IMAGEN</strong></div></th>
        <th><div align="center"><strong>PRECIO</strong></div></th>
        <th><div align="center"><strong>ACTIVO</strong></div></th>
    </tr>
<?php
    while ($fila=mssql_fetch_array($consulta)) {
?>
    <tr>
        <td><div align="center"><strong><?php echo $fila[0]; ?></strong></div></td>
        <td><div align="center"><?php echo $fila[1]; ?></div></td>
        <td><div align="center"><?php echo $fila[2]; ?></div></td>
        <td><div align="center"><?php echo $fila[3]; ?></div></td>
        <td><div align="center"><img src="showimage.php?id=<?php echo $fila[0]; ?>" border="0" /></div></td>
        <td><div align="center"><?php echo $fila[4]; ?></div></td>
        <td><div align="center"><?php echo $fila[5]; ?></div></td>
    </tr>
<?php        
    }
?>
</table>
<?php
}    
  El hecho es q queda truncado a 4096 caracteres pero no sé si a causa de PHP o a causa de la sentencia SQL. En la sentencia insert ni siquiero uso addslashes ni nada por el estilo xq lo q inserto es de confianza y los datos los obtengo leyendo una pagina html distribuido en partes según lo q necesito. 
Saludos. 
EDITO: 
El hecho de q esté limitado a 4096 caracteres forma parte de la configuración de PHP. Si tenemos acceso al php.ini sólo con modificar lo siguiente bastaría: 
; Valid range 0 - 2147483647.  Default = 4096.
mssql.textlimit = 2147483647 
; Valid range 0 - 2147483647.  Default = 4096.
mssql.textsize = 2147483647 
Aún así no es una solución totalmente válida ya q si usamos un host ajeno qué se podría hacer?
En mi caso no importa porque uso el propio pero creo q es necesaria una solución a este problema. 
Por otro lado la imagen sigue dándome como resultado: 
Resource id #10 
Adjunto el código para mostrar la imagen:  
 Código PHP:
                //Aseguro q en este script no hay ningun echo ni codigo html q salga antes de la cabecera de abajo.
    $sql="SELECT imagen,tipoimagen FROM catalogotlf WHERE id=$id";
    $consulta=mssql_query ($sql,$conec);
    $filas=mssql_num_rows($consulta);
    if ($filas>0) {
        $imagen=mssql_result($consulta,0,0);
        $ext=mssql_result ($consulta,0,1);
        switch ($ext) {
            case "jpg":
            case "jpeg":
                $mime="image/jpeg";
                break;
            case "gif":
                $mime="image/gif";
                break;
            case "png":
                $mime="image/png";
                break;
            default:
                $mime="";
                break;
        }
        if ($mime!="") {
            header ("Content-Type: ".$mime);
            echo $imagen;
        } else {
            //Muestro una imagen por defecto 
    
  Saludos.