For your question 2 only:
Almost always a new version of Mathematica introduces new more complicated rules to deal with examples that were found when using the previous version. These new rules sometimes slow calculations down in exchange for being able to correctly handle more examples.
Sometimes providing it with some hints about what you are assuming, perhaps without even thinking about it, can help. For example, telling it that your variables are all Reals can often enable it to provide a simpler result or sometimes find the result more quickly.
Sometimes the compulsion to use subscripted variables and special characters can cause problems. But in your example this doesn't seem to make a difference.
In[5]:= Assuming[{p, E1, m, lambda} \[Element] Reals, Integrate[(p^2)/(p^2 - E1 m), {p, 0, lambda}]]
Out[5]= ConditionalExpression[lambda - Sqrt[E1] Sqrt[m] ArcTanh[lambda/( Sqrt[E1] Sqrt[m])],
(lambda == (E1 m)/lambda || (E1 m)/lambda == 0 || (E1 m)/lambda^2 >= 1 || (E1 m)/lambda^2 <= 0) && lambda >= 0]
That says the result is an ArcTanh, just as long as lambda >=0. Try adding that as an assumption to help simplify.
In[6]:= Assuming[{p, E1, m, lambda} \[Element] Reals && lambda >= 0, Integrate[(p^2)/(p^2 - E1 m), {p, 0, lambda}]]
During evaluation of In[6]:= Integrate::idiv: Integral of p^2/(-E1 m+p^2) does not converge on {0,lambda}. >>
Out[6]= \!\(\*SubsuperscriptBox[\(\[Integral]\), \(0\), \(lambda\)]\(
\*FractionBox[SuperscriptBox[\(p\), \(2\)], \(\(-E1\)\ m + \*SuperscriptBox[\(p\), \(2\)]\)] \[DifferentialD]p\)\)
So when you tell it the assumption that it just told you it then says it can't find the integral anymore. Sigh.
Your second example behaves exactly the same way.
Perhaps you know better what you might be assuming and this might help simplify, and possibly even speed up a little, finding a solution.