I had the weirdest problem using the c_trace function for an elevation radar in that only every other trace gave a valid result (hit) and every other gave no result (null). It was very predictable. I never solved or figured out the underlaying cause but instead used a workaround by always doing two traces in a row and only using the one with a result. I did that by doing something like this:

c_trace();
if(result)
{
// do ent_create or whatever
}
else
{
c_trace(); // again
// then do whatever ...
}


I think it might be a bug in c_trace but I never filed a bug rep so I can't say for sure.

Hope this helps to solve your troubles too,
cheers,
tindust