I also don't know if all that is AI as much as simple scripting. I think that in that game if you did something to disrupt their routines they just kept following their script and ended up doing things like putting out candles that are not there or going through the actions of baking bread in the middle of the street.
True, but even then it'd be nice if devs put as much effort in scripting NPC as Origin did with the Ultima games. Skyrim is probably the closest modern analogue to Ultima, and the level of activity with respect to the average NPC is significantly less that U7. Most innkeepers in Skyrim stand static behind a bar, whereas U7 had them cleaning and setting tables and whatnot, taking breaks for meals, etc.
Of course, the downside with too much scripting is that it can be annoying as F*@$ looking for a specific NPC who is running errands around town when you need him/her. At least it was consistently easy to find Dupre in the tavern in U7. :-D
Edit: Another neat aspect of the Ultima games was that almost every NPC had some backstory that you could delve into to some degree, even if it was something super mundane like a banker having the hots for tavern owner, or something like that. I remember pouring a boatload of hours into U7 talking to every NPC and methodically going through all their dialogue options. They just don't go into that level of detail in games these days.