The reason instances are limited to 32 players each is for a combination of reasons that relate back to each other. (Disclaimer: I am a software dev in RL, but not really a networking guy, so I hope this makes sense.)
In multiplayer gaming, everyone in the same instance needs to know where everyone else is. The more people/objects you have in an instance, the more bandwidth is needed to keep track of everything. The required bandwidth increases exponentially with each new object, so it doesn't take long before you start hitting some hard technical limits there.
One way of putting off that limit is to reduce the amount of activity bouncing between objects in an instance. Once you've got your networking running about as efficiently as you can make it, the next thing you can try is reducing the frequency of pings between objects. This is one way that Eve Online gets so many people together; since Eve is not a true flight sim, it can get away with pinging everything around every second or so. But "twitch" games like ED and most others need to be pinging way more often to keep everything in sync and running smoothly, at the cost of bandwidth.
So you basically have a choice between a good experience with relatively few people, or a slideshow lagfest with a lot. I know which one I'd choose.
As for P2P, I dunno, perhaps it was done to maintain a certain performance balance between people from all over the world, as opposed to Euros connecting to Euro servers, Americans connecting to American servers, and oceanics like me getting shafted like usual.
