The problem is that Perturbation[B[_],0] returns B[_] and when you make the rule to put that to zero, it is set to zero everywhere, leading to:
0+t Perturbation[0,1]
+t^2/2 Perturbation[0,2]
+t^3/3! Perturbation[0,3]
which is clearly zero.
The easiest solution is to define a the perturbed tensor DefTensorPerturbation[pertB[LI[n], a], B[a], M, PrintAs -> "\[CapitalDelta]\[Beta]"] and then Perturbed[B[a],3]/.{pertB[LI[0],_]->0} will work as expected.