I also find my sitemap has not cokmpleted it's daily run. I get a notice like this:

* The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more
* The last known memory usage of the script was 47.75MB, the limit of your server is 64M.
* The last known execution time of the script was 122.41 seconds, the limit of your server is 120 seconds.

But when I then run it manually, it gives me this ntoice of successful completion:

# Your sitemap was last built on October 30, 2009, 8:31 am 8:31 am.
# Your sitemap (zipped) was last built on October 30, 2009, 8:31 am 8:31 am.
# Google was successfully notified about changes.
# Bing was successfully notified about changes.
# Ask.com was successfully notified about changes.
# It took 8.28 seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time.
# The building process took about 10.12 seconds to complete and used 40.75 MB of memory.

Why would it work on manual, and not when running in auto?

I'm on 2.8.5 and 3.1.7 of the plugin. It's been doing this on ealier releases as well.

Same problem for me, it started a while back and I posted about it here

Since then I, like you, have discovered that a manual build always works. My site must be much smaller than yours, but on the rare occassions an auto build works, which is about 10% of the time, the build takes around 18 seconds, but a manual build takes between one and three seconds.

Well, it is early days but I think I may have found the problem. The other day I noticed that where it says in the settings for XML Sitemap Generator for WordPress 3.1.7

Try to increase the memory limit to:

I had increased mine and set it to 64 but the instructions to the right say (e.g. "4M", "16M").

So yesterday I changed 64 to 64M and hit update options.

Since the addition of the M my sitemap has rebuilt itself automatically after I have posted twice, both times without errors and taking just 1.16 seconds the first time and 4.76 seconds the second time. It hasn't worked twice on the trot for a very long time and when it has, it took much longer.

So try checking your settings to see if you have that M. I'd be interested to hear if it works for anybody else.