This is mostly to myself, but other folks may be interested, I suppose:
Social play is, at its heart, too simplistic to support a game. Just talking to people and making them your friend or enemy is not exactly riveting. Of course, killing people is also, at its heart, too simplistic to support a game...
A social game could use the same methods to add complexity that a fighting-based game does: long-term goals, resource management, etc. However, to make that fit the "feel" of a social game, the social situation would have to be extremely bizarre, such as a time traveler trying to convince famous artists, designers, kings, and scientists to give him treasures to save the universe from a space monster that eats beautiful things... or something.
What I generally do is try to make a social game a component in a larger game. For example, in an RPG, fighting feels like the primary play type, but the core play loops are actually resource gathering and exploration. It's pretty easy to "tack on" a social game which lets you accomplish things you'd have a much harder time accomplishing by other means. This has the added advantage of making the people seem more like people, if done right.
Of course, nobody has done it right, yet. It's not a lack of ability to socialize. Even Oblivion's painfully bad socializing "game" would be sufficient, if the reward was interesting. Unfortunately, the reward never is. The social gameplay is too shallow. Yay, they like me, that's... um... 10% off my purchase? Whee? Even worse are games such as Fable, where you can actually marry people and it doesn't mean anything.
This is because the integration of the social game is extremely bad. When fighting is integrated into an exploration game, the two are linked in a spiraling feedback loop which lets the player fight things to explore new places, and explore new places to fight things. Even this basic level of interactivity has not been accomplished with social play: if you charm someone, they take a tiny action and that's it.
It's worse than it sounds. There have been attempts to mate socializing with exploration (and other play types), but as it turns out, these fail hideously. The reason is simple: socializing is not fire-and-forget, but all current games are designed around the fire-and-forget play method. If you make friends with someone, you get a bonus! And then you never have any reason to ever see them again. That's not socializing!
A few games try to add a level of social complexity. For example, Radiata Stories. (I had forgotten the name, but searching for "RPG PS2 kick" found it, for reasons which are fun to explain.)
Radiata Stories basically orbits a particular town - a fairly sizeable town with about a hundred unique characters in it. There are also unique characters in various other places you visit. Although the illusion rapidly wears thin, in the beginning the world feels extremely rich - every single person you meet is actually new, interesting, and unique. Even the random thugs are unique. And they all wander town in meaningful ways.
There are two things that really set Radiata Stories apart when it comes to socialization, though. In addition to the normal "welcome-to-Corneria"-style conversation, you can kick them. You can kick anything. Your primary action is a kick. How people react to your kick varies widely from person to person, but the important part is that it's not some boring, repetitive statement that has no impact on play - the response is tied in with various kinds of play. Usually, kicking them a few times leads to combat with them - no matter who they are. A high level wizard. An old lady. A five year old boy. The combat is silly and nobody actually dies, and it adds a huge amount of potential to the game.
The other thing Radiata Stories does is it, like Suikoden, lets you get basically everyone on your team. Unlike Suikoden, the world feels much more full of characters you can get. In Suikoden, you might get one or two people per city, and there are dozens of cities. In Radiata Stories, you can get literally everyone in the whole city. It makes the world feel deeply real, since there's no "nameless, faceless dudes" that don't do anything useful except say "welcome to Corneria".
However, Radiata Stories still doesn't have the level of social gameplay I want. It's still obviously scripted, the interactions are still very shallow, the characters are static, and so on and so forth.
There are games where you can try your hand at socially manipulating characters, and I think these are an interesting set of games to learn from. The most obvious is the Dead or Alive: Extreme Beach Volleyball series. Treating your partner well (and fulfilling her volleyball expectations) not only increases her statistics on the field, but also allows you to circumvent her likes and dislikes when it comes to TACO collection. IE, you can only get the prude to wear a string bikini if you've socialized your way to the moon, and you can't get the goth to wear a Hello Kitty one-piece unless you've done just as much with her.
As silly as the actual goals are, it's important to note that there is no feeling of "upper limit" on these socializations: because you are constantly putting pressure on the relationship and getting detailed feedback in the form of gifts and commentary, you can see the relationship wobble and grow. That's important: I don't think it's possible to have a good socializing game unless every significant relationship requires continuous feedback and, furthermore, the relationship can always be pushed. Don't think of a relationship as a combat, think of it as your weapon slot: you're always looking for some fun thing to equip together. A new sword isn't a new friend: it's a slightly different phase in your old relationship.
The idea that NPCs need to be able to interact with each other, forming rudimentary plans and relationships, is a good one. But it is not what I would focus on for a first-generation social game, since it adds huge amounts of complexity. Instead, I would focus on creating detailed, continuous feedback for relationships that follow complex rules.
The most difficult part is actually the other half of the game. You have to get a set of values strong enough to (A) keep the player interested and (B) allow for unique characters that have unique interests. In order to do that, you need a lot of stuff stacked on top of the basic idea of social play - not only complex socialization rules and reactions, but also a world where interesting stuff happens.