[eluser]Jay Turley[/eluser]
I haven't been working with CI that long, so I can't bring an experienced perspective from that point of view, but I will say that I am currently working on a new application which has four separate ways to view the content of the database. These different ways of accessing the data are so different that I have essentially broken it into four applications accessing the same database.
However, the only issue that really, *really* bugs me so far about it is when I have a User model, lets say, that code becomes duplicated across the four applications. The only way I can think of to resolve this is to move all four applications into one large one - similar to your problem. So I may eventually be forced to move in that direction to avoid the duplicated code.
Which, I guess, kind of indicates that maybe the one application idea may be the right way to go. Unless someone out there has a better idea for handling this sort of issue with CI.