I agree that there are circumstances where you need application-layer acks, SMTP being a canonical example.
However, there are other cases where you don't need lock-step app-layer acknowledgements; for instance, if your messages are idempotent.
I'm really just reacting to the forensic work in this article, which suggests (maybe I'm misreading) a problem that TCP doesn't actually have.