EUREKA! Problem solved!
Believe it or not, the self-timer was messing up my long exposures because of a little plastic insert I had just filling the space in the hot shoe! Setting the hotshoe override to "Empty" (rather than "Off", where I've had it up to now) resolves the problem - AND, so does simply removing the insert. I guess it was having the same effect as an external flash, and even a bubble level
Something has obviously changed since the sx10 was built for, because the insert in its hot shoe never changed anything (as far as I can tell). But thanks a million to everyone for helping me find out what - starting with waterwingz (esp. for the timer and script tips, also just the plain old helpfulness), philmoz, and in quick succession reyalp, Andrew.stephens.754365, and srsa_4c for the hotshoe info.
Now I can go back to taking self-timer'ed long exposures to my heart's content. You guys (gals?) are tops.