I've just spent all morning on this and am finally printing. In case it helps anyone, I noticed that when I type
smbclient -L <IP address of Windows XP machine>
(in my case: smbclient -L 192.168.1.3)
the share name of my printer is not what I thought it was (i.e. Canoni56 instead of Canoni560).
Also there seem to be many different ideas on how to set the device URI in CUPS ... I found that the IP address was the only thing that worked.
So I set the device URI to smb://192.168.1.3/Canoni56 and now I'm printing