I use a sticker reward system for my daughter. She is 2 1/2 (32 months) and understands the concept very well. She will tell people "when I do what Mommy tells me, I get a sticker!" And then, when she fills a page, "I get a prize!!"
I take a sheet of paper & draw 6 shapes on it. When all the shapes have stickers, she gets to pick a SMALL prize from a prize box. A couple of times per day, I will say, "you have a chance to earn a sticker right now, this is what you need to do" I do not give multiple warnings, maybe 2, and then she loses the sticker and still has to do what she was told. Other times, when I have not offered a sticker, but she immediately does as directed, I surprise her with one. When she does earn a sticker, we sit down together, she picks one from a sheet and what shape to put it on. Then, I write down what she did to earn that sticker. Later, when the sheet is full, we read through all the things that she has done and she gets to pick her prize (she usually picks a small sheet of stickers!). My goal is to emphasize her positive behaviors over & over!
Another thought that I had for you was to try to give your son an advance warning to diaper changes. At that age, transitioning from playing to diaper change can be hard. Try telling him, "we are going to change your diaper soon. You can stack 2 more blocks & then you need to come here". Or try setting a timer for a minute or two.."when you hear the timer, we will change your diaper." Also, maybe you could give him something to look at during changes to keep him still a little bit, a book or an unusual household item.
Holding hands is a rule for us too. If she tries not to, she just gets carried. And my super independent girl likes to walk on her own! LOL!
Our ECFE teacher suggested picking one behavior that we wanted to change, and reinforce it over & over. Set a realistic goal so he can easily reach it. I hope some of this will help you!