Are there any critical drawbacks of rendering animation on per frame basis?
No, if you render all your frames individually the result will be the same of pressing "Render Animation". This button is only iterating over all frames and sending the render command for each of them.

As for the render crash, you could use a modal operator that checks if you press Esc (for example) and aborts the render without making Blender crash