in reply to the boolean thingyfoo...
i'd suggest not to use it often, only when no option is left.
same goes for CSG substract, they both destroy an objects triangle lay-out (dont know any better word for that).
best bet is to try and model it,
in reply to all the other stuff, try updating the newest DX9 dll's cuz i NEVER had any similar problem (or atleast it didnt bother me that much that i still remember:P).
regards,