It took some time to realize that this is the reason why lsim(P, u, t) isn't linear in u.
It also makes lsim(P, u, t) discontinuous in u which seems problematic for a number of reasons.
I suggest we drop this dependence on _issmooth and just default to :zoh. Any thoughts?