what do you mean by multiple GUIs?
As in, you want different classes of users to feel like they're using a comlpetely different app, albeit one that shares the same database and business logic layer.

E.g. I worked on a marketting app a while back (it was desktop based so I apreciate the metaphor may break down a bit but it should suffice). We had several GUI executables. One for salesmen, one for the marketting department, one for the call centre and so on. These all shared the same business logic layer (we wanted that consistency of behaviour) and data but, from the users perspective, they were different applications. They had different look and feels, they were diferent exes etc.

I was curious whether you'd had similar requirements or whether you treat the whole application as one entity.