the engine has some collision stuff going on inside it.
if you change .solid, mins, maxs, origin, (if solid_bsp: angles, modelindex), then you MUST call setorigin/setsize/setmodel after/for that change. Failure to do so can cause the engine to fail to notice those entities for collisions and possibly findradius.
(if you're calling tracebox multiple times then you only need to call setorigin after the last of the series - self.origin is irrelevant when you're ignoring self anyway).
Additionally CSQC_Input_Frame should not be doing any actual physics, unless you want jerky motion with cl_netfps set low, and you don't want the server to see it.
Either update it each video frame (allowing for partial input frames too), or apply your input log directly in the entity update function and then interpolate in predraw (which is simpler, at least).