Some would consider MC a hybrid design and doesn't separate client and server. Many programs work this way now. Just because a client consumes data from somewhere else, doesn't mean it has to be "dumb". Even Gmail offers a "client" with offline access. In fact most web applications are now evolving this way. The brains are moving from the server to the browser. The net result is quicker interfaces and more reliable operation.
MC's design actually has some advantages especially for clients connected over slow links. For example, I run MC at work over the internet.....
It's a matter of discussion as to how thick or thin to make the client, and whether to put an application-layer server inbetween (all client/server layers could, of course, be put onto the same machine if you wish, but the point is that they are functionally separate and can be put wherever you want according to your network configuration and devices available). But even in thick clients, they don't necessarily download the whole server's database first to work on, that would actually disadvantage those on slow links!
Email and calendar applications can work in an offline mode, with sync processes running each time you connect up. But what we're talking about here mainly is a single-house media server system, where going online and offline and slow connections are irrelevant. Why cripple the product to the lowest common denominator? If there is demand for an offline version of MC then I think Gizmo needs to develop a bit further
I think you're confusing cloud services with thick and thin clients.
The way MC works at the moment
isn't as a media client/server in any sort of sense (apart from the DLNA server). It may have a sync server and a sync client (or what you might call cloud services) which may work best off-site, but not in the home. Like most people, I want to run several media-consuming clients from only one copy of the database/library and be able to update the library from any of them and have changes applied instantly and reliably applied everywhere. Cloud and sync services cannot do this, as we already know from the limitations that MC has.
In work, I am a data base administrator for a PC application that is a client to a database server elsewhere. This is true client/server. It holds no information locally and sends all data requests and update requests to the server. However, it *can* do a dump/extract of the entire database for loading into a standalone/non-connected version of the application for "what if" type scenarios, and it then "integrates" changes with the main database when you decide to load it back to retain the changes. That standalone version of the program is *not* working in any sort of client/server mode!