(1) I would like some advice regarding the design of GLOs, in particular the sort of scale that one GLO should occupy (in terms of object size/responsibilities). i.e.:
If I want to represent AI players in, say a local world of 50 players (Human and AI), should I just have one GLO to represent all the AI players, or an individual GLO for each one? Should I avoid using GLOs at all for AI players?
Think about having to serialize/deserialize all of the every time you want to access even one property on single of them...
I think that you should have certainly at least one GLO per NPC. Depending on how your game is structured, I would even consider splitting inventory/dropped items/shop data/whatever in separate GLOs.
I would start with having everybody and their dogs as separate GLOs and merge them only if it proves to be a performance problem at some point because of mutliple gets (or/and if you will observe patterns that some GLOs are always accessed/modified together with another ones).