Thanks to Krzysztof Adamski for giving me the hint that enabled me to solve this problem.
As I had been unable to boot the stock soft-float Wheezy image, I had copied some files from a (working) Raspbian image in order to get soft-float working (required to run Mono). This included kernel.img. See here for details. I think the difference in version between the kernel and /lib/modules/3.1.9+/kernel/drivers/watchdog/bcm2708_wdog.ko was stopping it from loading.
I went back and copied files one by one to a virgin soft-float image from a raspian image and found that it was start.elf that was stopping the soft-float image from booting. I moved arm224_start.elf to start.elf (wanting to change the memory split anyway) and I can now boot the image and "modprobe bcm2708_wdog" works as expected.