Maybe I'm missing something, but declare(integrate, linear) doesn't work for noncommutative integrands:
(%i6) declare(integrate, linear);
(%o6) done
(%i7) integrate(exp(%i * z * t) . p,t);
(%o7) integrate(%e^(%i*t*z) . p,t)
Oh, I worked around this easily enough (a ratsubst worked for the case I needed--I'd guess there is a more general tellsimp way too).
If anybody is looking for a Maxima project ...
--Barton