I'd try the zypper method instead. I used that method on several machines with the SDK repos enabled and didn't have any problems. Although none of the machines were registered in any way so I skipped the suse_register commands and I manually added required repos. (I mirror SLED and SDK repos locally and configure machines I manage to use those.) Also I didn't bother specifying repos with zypper dup, I didn't see the point since at that stage the only enabled repos were the SLED SP3 and SDK SP3 repos. I guess if you have third party repos you should specify the repos to use though.
Yes, I decided to go for zypper as well. After a lot of pain, it finally seems to have updgraded. yast2-wagon is pretty useless, I suppose :/