I'd say you're definitely making a good hill to climb, but it doesn't look like it's actually diffusing because you're never subtracting or rounding out the difference between squares. When I first started, my formula was very additive. It made good hills, but it also resulted in values getting way too large ("smelly") or decaying too fast like you're showing there. When I finally fixed it, the results were very nice.
Here's the source to my diffusion bot, which has wound up around rank 100:
https://bitbucket.org/tmseiler/ants/src