W.C.
We had this issue for the past few weeks with our 20 month old and discovered that her room, despite the thermostat, gets FREEZING at night - every night. We got her a small space heater and she's slept every night since. Could he be getting cold at night even when you're not (since he's just losing heat at night you sleep with another body trading heat)?
Also, she won't sleep if she's in the same room as we are. I would HIGHLY suggest moving him to his own room, making sure he's fed (he's too old to be getting up for a bottle), warm all night, etc. and let him cry it out a few nights. At this point, his body is in the routine of waking up so even when he doesn't want to be awake he will because it's his routine. Because of that he's mad and frustrated, knows you are in the room, wants you to comfort him. Please understand the following is not a criticism, simply a statement of fact. Due to your desperation you have done whatever you had to to get him to sleep after giving a valiant effort, but eventually gave in. Because of that, he now knows you will and thus will cry as long as it takes at this point. Even for HOURS at a time. I know from experience. Also, Dawn's right - it will probably take about a week. Which is one reason why I HIGHLY recommend the following.
My advice: Leave him with a babysitter or grandparent, overnight if you can but during the day if need be and SLEEP. You HAVE to sleep. sleep deprivation is more dangerous than driving drunk and LITERALLY makes you mad - as in mad hatter. Even if you have to take a sick day from work, do it. Only after that will you be equipped to make appropriate decisions and be strong enough to stick to them in the heat of the moment - even if that's 2 am. PLEASE make sleep for you and your husband a priority before you try again. You've also said your relationship with your husband is suffering....you both need to make sleep and that a priority at this point.
I wish you were around here! LOL I would take your kids for the day so you could sleep....
{{{{{Hug}}}}} Good luck!