the issue with using model rendering code for bsp objects is that you'll need to render lightmaps too. if you can precompute those, good for you.
you can convert-on-load an iqm to mdl format if you really want, just like fte's software renderer did with md3, but you'll loose support for bones, and I recommend you extend the precision... If you also retain the animation data, you can use it for attachment support, though there'll be a lot of bones which are simply not useful as tags. That said, if you're retaining all of the animation data anyway, it should be as easy to transform the verts as it is to interpolate the verts, just slightly higher cpu usage but no higher than would be needed for glsl-less iqm.
hexen2 bsps use 6 hulls (space for
0 0 0 0 0 0
-16 -16 -24 16 16 32
-24 -24 -20 24 24 20
-16 -16 -12 16 16 16
-8 -8 -8 8 8 8
-48 -48 -50 48 48 50
q2+ bsps support any size collisions. textures are all external.
q3 bsps provide support for triangle soup for correctly lit static meshes etc, but removes support for lightstyles (and good luck with software rendering). q3map2 provides more realistic lighting routines too.
rbsp re-adds support for lightstyles by using 4 lightmaps and scaling them by the lightstyle value on the gpu (mh was toying with this style of lightmap rendering on q1bsp).
fbsp just adds higher-res lightmaps.
.