When sewing on buttons, especially on heavy jackets, use dental floss or 4 strands of thread that has been waxed with beeswax. This will make the button threads much stronger.
>> use dental floss or 4 strands of thread that has been waxed with beeswax.<<
Beaders have found that using dental floss is... not permanent. It degrades over time (so as not to become an environmental problem). Using beading thread (Nymo) or similar will give you a very strong connection-- make sure your fabric is equally tough, though. It's much easier to re-sew on a button, than to repair a hole, and THEN sew on the button in those cases where too much stress is put on the button (like snagging on something).
To help the "thread cutting the fabric" problem, use a small flat button on the inside of the coat as backing for the coat-button sew down.