[eluser]tunesmith[/eluser]
Yeah, that is generally a good approach when dealing with verbose models, using something that autogenerates them. But there are still some downsides compared with the static approach. For instance, in the static approach you can just pass in an array of only the values you want to update, and guarantee that the rest of the db columns will be left alone. In the approach of a verbose model, it dynamically creates its own sql query using every attribute, so it updates every column, which can cause problems if you set an attribute you didn't want to. Although, I don't personally mind that downside very much.
I do quite like the Active Record stuff. But you can't pass $this to the active record methods. Some good workarounds have been posted here, like having each model have a $this->fields array, and then just passing that to the active record methods. It's still not exactly OO though. I'm starting to look into DataMapper DMZ, that might be the best solution here - I haven't looked yet to see if the models are small or kitchen sink, though.
What might be best is to just create some models that don't extend Model, but can still access $db as something other than an object attribute. But, I'm still inexperienced with CodeIgniter. So I'm all ears if anyone knows of something that solves all this.