I think the following is safer:
diff(l('p,'c1,'c2,'t1,'t2,'b0,'b1,'b2,'tau,'sigma),'b0);
this way you should have (usually) complete control about what gets
evaluated and what not. However, there are some functions with special
evaluation rules, "sum" for instance. I'm not sure if it will always
produce the desired result...
Martin