Правильно: скрепя сердце – против воли, против своих убеждений, мужественно. Скрепя - то же, что скрепив. Оборот, вероятно, связан с движением хватания себя за сердце при сильном седцебиении от волнения, то есть буквально: "скрепить сердце чем-нибудь" . Скрепить в этом выражении имеет внутреннюю форму "сделать крепким".
Инфинитива болить нет и никогда не существовало. В современном русском языке есть два глагола болеть. Первый имеет значение ‘быть больным’ и спрягается как глагол иметь: болею, болеешь, болеет и т. д. Второй имеет значение ‘вызывать ощущение боли’, спрягается как глагол гореть, но употребляется почти всегда в формах 3-го лица: голова болит, ноги болят (об употреблении в форме других лиц см. ответ на вопрос № 324535). В древности в обоих значениях употреблялся именно этот, второй глагол (болѣти — болю, болиши, болить и т. д.). Две парадигмы глагола болеть фиксируются с XVIII века.
Я имею сердце – по-русски так не говорят. Правильно: У меня есть сердце.
Здесь верно: пожертвовал сердце.
Обстоятельство с тех пор и дополнение у него относятся к обеим ситуациям: и к стало прихватывать сердце, и к начались гипертонические кризы. В подобных случаях запятая перед союзом и не нужна (см. пункт 1 параграфа 112 «Полного академического справочника» под ред. В. В. Лопатина).
Все приведенные Вами варианты корректны.
Правильно через тире при неоднословном наименовании («Холодное сердце — 2») и через дефис при однословном («Моана-2»).