The Martin Hinner script is very useful, but there have been questions on exactly what it does and whether it works n all cases. I had used it on one unit, then it was failing on a second, so I decided to figure out for myself exactly what it was doing so that I could build a version with more tracing.
What is going on is that there is an existing "update firmware" page in the MyBook, and you can pass it a URL telling it where to get the update. It does a wget to fetch from that URL (appended with /list.asp). Then it takes that result, looks within it for another URL, does a wget on it, stores the result in a file, and executes that file as root.
So basically you create two web pages, one containing the program you want to execute and another pointing to it, and give it to the built-in firmware upgrade page.
In my case, I took the program from Martin Hinner (which is left in /var/upgrade/latestfw.sh) and modified it to log its progress in /shares/internal/PULBLIC so I could see what was going on, which allowed me to solve my problem. I have now successfully upgraded both a 500G and a 1T unit. I will build a small zip file with instructions so anyone can do this themselves when I have time.