On work done by internal forces which is coming out to be not equal to zero 1) Let us consider a block which explodes due to some internal mechanism into two smaller fragments of equal masses.The system was initially at rest and now is having some finite kinetic energy(due to momentum conservation).We can hence comment that the work has been done by the internal force by the Work-energy Theorem since there are no other forces acting on the system.But this seems to contradict the fact that work done by internal forces is always 0.Where am I going wrong? I have researched similar questions on stack and other site but to no avail.
Also,textbooks for some reason do not consider a lot of theory on this matter for some reason which adds to my woes.
2) I have another question that in a two mass spring block system does the spring do any work?It should be 0 according to me as it is an internal force when solving from COM frame but is this also true from a ground frame?While writing the work energy theorem on this system, would the spring work show up even in the form of potntial energy?
 A: The answer to your first question is that work done by internal forces only sums to zero in the case of rigid bodies, so the principle does not apply to an exploding body.
The same is true for the two blocks linked by a spring- it is not a rigid body. 
The two cases are analogous. In the case of the exploding block, potential energy stored in the explosive was converted into the KE of the two moving parts. Likewise the spring can store PE which is converted into the KE of the blocks.
A: Something to keep in mind is that "internal force" is a subjective term. It completely depends on what we say the system is, and therefore what we say is "internal" and "external". However, the work done by a force is not dependent on this distinction. Therefore, we should not expect that the label of "internal" or "external" should influence how much work the force actually does.
As you have shown, internal forces can certainly do work. As long as a force is applied to an object over some distance (i.e. $\int\mathbf F\cdot\text d\mathbf x\neq0$), work is being done.
