A few hints from the manual -
WMB - Map Entities
Quote:
Textures and shadow maps of the level and of map entities are preallocated in video memory at loading time, in order to maintain smooth gameplay. Textures of all other entity types are normally only allocated when the entity becomes visible.

Shadow -
Quote:
For preventing self shadowing of an entity, set its CAST flag together with the SHADOW flag.

Some setting to look at..
++ http://www.conitec.net/beta/ad3d_texsmaps.htm
++ http://www.conitec.net/beta/amap_subents.htm
++ http://www.conitec.net/beta/preload_mode.htm
++ http://www.conitec.net/beta/aent_preload.htm
++ http://www.conitec.net/beta/aent_purge.htm
++ http://www.conitec.net/beta/aentity-dynamic.htm
++ http://www.conitec.net/beta/ashadow_lod.htm
++ other LOD factors.

Sounds like a bug, either level_load or in preload.
No worries... using ent_pugre with a little bit of logic and the CLIPPED flag could be a basic optimization. http://www.conitec.net/beta/ae_clipped.htm

Code:
Ent action method
{
while(1)
{
if ((my.eflags&CLIPPED) && !my.not_run) 
{ ent_purge(my); my.not_run=1; } // lite-C
 if (!(my.eflags&CLIPPED) && my.not_run)
 {my.not_run=0; }   
  wait(1);
}
}
......
level_list method
function hide_all_ents()
{
// repeat for all entities
  for(you = ent_next(NULL); you; you = ent_next(you)) 
  {
    if (ent_type(you)==1 || ent_type(you) == 2 || ent_type(you) == 3)
{
if ((you.eflags&CLIPPED) && !you.not_run) 
{ ent_purge(you); you.not_run=1; } // lite-C
 if (!(you.eflags&CLIPPED) && you.not_run)
 {you.not_run=0; }    
}
  }
}



The code and reply are just a guess. Also could be linked to a custom shader setting on map_ents.