Right, finally got time to finish this! The problem is you're expecting a lot of him to instantly start delivering retrieves to you when he's been allowed to play casual fetch and drop things at your feet for the last 8 months. It's not impossible to retrain him to deliver properly at all but it just makes it harder as you have to undo what he's been taught up to now.
You've really got two issues going on - getting him to return straight to you with a retrieve and then getting him to hold it and not spit it out. I would break the exercise down and work on each component separately - the recall with the retrieve, the hold and finally the delivery. Forget about doing 'proper' retrieves for now and I would also forget about dummies to begin with - use a toy he really, really likes and is easy for him to pick up and return, even if it's a pair of your socks, it doesn't matter to begin with as long as he really likes it.
For getting him to return to you start off by practising in a relatively confined space so that he can't start running rings around you. Throw the toy/socks/whatever and release him as usual and then go overboard encouraging him back to you - run backwards, get down on your knees, high pitched voice etc. as he's coming back towards you. If for whatever reason he changes direction or moves away from you, say 'ah ah!' and get after him straight away to get his attention back on you, once he's looking at you and coming back towards you use the high pitched voice to call him again. If I had a really reluctant dog though I would start to turn my back and walk away from them as they were on their way back, I would only pay them attention once they caught up with me and were walking beside me and then I would stop, get down to their level, gently take the item from their mouth and give loads of praise.
There are a few ways of teaching a hold, if I had a dog which spat retrieves I'd do it by starting again in the house with a soft foam ball as they're easy to pick up and they expand slightly behind the dog's teeth so are harder for them to spit out. I give it to the dog and when they take it I say 'hold' and gradually start building up the time I expect them to keep it in their mouths before asking them to give it back with the 'dead' command. As they're holding the item I reinforce the command and give lots of praise. You could use a clicker for training this if you do clicker training - just extend the time before you click and the dog can release the item.
As an example, with Caoimhe I only did a little bit of formal 'hold' training, I've done most of the work on this as we've gone along with her retrieving as I never, ever pick up anything she's dropped on the ground. I've never played casual fetching games with her, every retrieve is done properly and if she did drop the dummy or ball at my feet I would back up a few steps and ask her to fetch it to me again and repeat until she dropped it into my hand. To begin with I don't expect them to deliver anything perfectly, that takes a lot of work, but it starts with her making the connection that the dummy/ball goes into my hand and not onto the ground. I encourage her to come right back to me and even jump up on me when she has a retrieve, a perfect sitting delivery is nice and I teach it in time but it's not essential and to begin with the important thing is getting her back to me and getting her to hold on to what she's got. I never snatch retrieves from her, I take them slowly and calmly and sometimes I let her carry the item for a while before asking her to hand it over. Being too keen to snatch a retrieve from the dog's mouth (ironically enough often done to get the item before the dog spits it out) can encourage them to a) be reluctant to come right back to you or b) start spitting it out when still a few feet away from you.