It's unclear from your question as to whether or not you got paid last year's bonus (which your coworker quit over) yet. They said "end of the year", well today is December 4th, that's pretty darned close to the end of the year so you should be asking about that.
Here's where I'd start: First, you push for your last-year's bonus to be paid immediately. I'd phrase it something like this:
Hey Joe, we spoke the other day about you wanting to retain me at this company, and how you want to give me a nice bonus in March for staying with the company until you can find Alice's replacement. However, I still have not yet received my 2019 bonus which was promised by the end of 2020. Today is December 4th, which is pretty close to the end of the year, so I'd like to know if my bonus from 2019 is coming promptly.
See how he responds to this. If he pays immediately, then you can move on to the next step. If not, then start searching for a job immediately. If you need any rationale for why to do this, the least rationale you can use is that, if he hasn't paid you your 2019 bonus by March, then even if he pays you a bonus in March, it will be your 2019 bonus and not the bonus he's promising you now; he's trying to double-dip by promising you the same bonus you've already been promised, and you're not actually being rewarded for loyalty. Of course, there's also the rationale that the company is having financial problems, is a sinking ship, management has lied to you for a year, and so on.
Now, if he does pay you your 2019 bonus, you should throw it back in his face, as follows:
Hey, Joe. I received my 2019 bonus, thanks for that, I really appreciate it. Now, on the topic of the bonus you promised me in March, I'm a bit concerned. My 2019 bonus was promised to me, and then it was delayed twice, for almost a whole year. I'll promise to stay with the company at least until March so you can find a replacement for Alice, but what guarantee do I have that the same situation won't happen again, and you'll delay that bonus until June and then December afterwards?
See what he says to that. He needs to give you something in writing, that you can present in court in case he renegs again. Anything short of that means he is intending to reneg on this commitment again, and you should ignore this promise of a bonus, at least you should ignore that the bonus is coming anytime soon, and you should search for a new job.
If he commits in legally-enforceable writing to give you a bonus in March, then you work until the first payday of January and see if his promise of a 40% raise is true (be aware your net income might not raise by 40% because taxes so account for that). If it's not, then you have some math to do: You can sue the company for an 80% bonus (because you have it in legally enforceable writing as per above). However, you're going to lose 3 months of the difference in pay between your current position and a hypothetical new job between now and then. Does that math work? If the math doesn't work, then search for a new job immediately; if it does work then continue working until March to collect your bonus (or so that you can collect legal grounds to sue for it, as the case may be). In either case, if you fail to receive the raise as promised, then as soon as you collect the bonus in March, start looking for a new job.
The only way you should continue working at this company past March is if the following 3 things are all true:
- You get paid your 2019 bonus before December 31 (27 days from today)
- You get your promised 40% pay raise in January, and that continues to be honoured going forward (if you ever get a pay cut following this raise, get out immediately)
- You get paid your 80% bonus by March 31 2021 without incident (that part is important, if you have to remind them or beg them or whatever, that's a good enough reason to quit in March imo)
If any of those 3 things turn out to be untrue, search for a new job.
As a side note, I'm not sure if this is you, but a trap others commonly fall into is they are afraid of their company failing if they leave. Definitely DO NOT DO THAT. It's not your problem, you're not being paid enough to care about whether or not you are of critical value to the company. It's your boss's job to care about that, and to do whatever it takes to retain you if he believes your leaving to be a critical risk to the company; it's your job to look out for number 1 and do whatever is in your own best interests, even if that means the company dies. As long as your boss keeps you happy, then stay; if that doesn't happen, then find a boss that will.