I have a bit of a problem with the theory that the spirit Cole killed the boy Cole for the simple reason that if that turned out to be the truth I would consider it pretty poor writing. Cole, at that point, is talking to Lambert. Who he is about to kill, and has no reason to lie to. Why would he? To save face? To make himself look better? Why in the world does he care what Lambert thinks? It wouldn't make any sense. If he's already correcting Lambert's assumptions that there wasn't a Cole, ever, why not tell the full truth? Why say "I was helpless, I'm not helpless any longer" instead of "I killed him, like I will kill you now" or something to that effect? What he say may not explicitly spell out "Cole died of starvation/dehydration, but it does clearly spell out "Cole died after the templars forgot him, the spirit couldn't do anything but it stayed beside him when nobody else did". There are plenty of loopholes there for future surprise twists or reveals, but not "Cole was killed by the spirit".
But more than that, look at it from a writing perspective; this scene is coming at the end of the novel, and is very clearly meant to be the reveal about Cole and the full truth that we've been waiting for the whole novel. Or something. The point is, this scene is set up in such a way that it's telling the audience, here is a reveal, and by extension that it is true and real, because that's what a reveal is for. Fake reveals do exist, but a fake reveal at the very end of the book is pointless. Further, every novel assumes there is a certain amount of trust between the audience and the writer; there are certain rules about when to lie and when not to, otherwise readers could pick and choose about which parts of the novel they believe actually happened and which they pretend didn't. And at times when a reveal comes it is essentially the author telling the audience a new fact through a character. You except the writer to "tell" us the truth unless there are hints that the device the author uses could not be entirely reliable i.e. unless the character is establishes as a liar or if we're explicitly spelled out as experiencing the reveal scene from a skewed perspective. There is no hint, nothing in build-up, to imply that spirit Cole is lying. We are meant to accept the reveal as truth, because such is the build up to the scene, there is no reason for the character in question to lie and not within their established character, and we trust to author to make it possible to figure it out on our own that a certain statement that is seemingly fact may not be true by providing a hint. Cole lying, while possible, would be illogical and there is no hint towards it. If it turned out that he did, this would mean the author lied to us, by extension, and I daresay "tricked" us or "cheated", more maybe "broke the rules", so to speak. And that's poor writing.
Furthermore, if the spirit Cole lied, this also means that the rest of what it said could potentially be a lie as well. So we can't know how much of it is true and then we could disregard it entirely. Then what would be the point of the whole scene? To deliberately mislead the audience? Also pointless. Lying to keep the audience speculating and wondering about Cole's nature is totally unnecessary when there is already enough left to do that about, not to mention that it would not be very good character writing if we left the book knowing no more about Cole then we did at the start.
tl;dr it does not make sense for Cole's end speech to be a lie and if it were it would be a bad writing choice and that is what i wanted to say about that theory and why I don't even take it into consideration