I generally agree with Joel Spolsky on most things computer-related, but I’ve been thinking about this for a few days, and I just have to disagree. I see where he’s coming from, but it seems to me that there’s a better way to let the user know why an option is disabled (maybe a mouse-over tooltip?), rather than leaving it enabled but useless.
He forgets that what’s even worse to a user than an unusable menu entry is yet another dialog box he has to dismiss.