How does charge work if photons are neutral? How can an electron distinguish between another electron and a positron?  They use photons as exchange particles and photons are neutral, so how does it know to repel or attract? 
 A: Well, one quick answer, if you want to answer this at the level of QED, is that there are two Feynman diagrams (one where an electron scatters off of a photon, which then scatters off of a positron; another where the electron and positron annihilate, and then the photon decays into an electron and positron) describing $e^{+} + e^{-} \rightarrow e^{+} + e^{-}$, while there is only one that describes $e^{-} + e^{-} \rightarrow e^{-} + e^{-}$ (electron scatters off of a photon, which scatters off of another electron).  The short of it is that you can't consider just QED vertices--you have to look at entire Feynman diagrams of processes, and at least know how many of them there are.
Of course, another answer is that, simply, the classical theory distinguishes these two processes--Maxwell's equations plus the Lorentz force law tell me that one process is attractive, and the other is repulsive.  Naïvely, one would expect that the quantum process, by land large, would mirror the quantum process.
A: It's a good question and it is more convenient to describe the process by the Feynman diagrams in the position representation.
If one begins with the initial state that contains two charged particles whose wave functions are two wave packets separated by distance R, then the usual tree-level diagram involving the exchange of a photon quantifies the (small) change of the wave function by the (weak) electric field, in the position representation.
Imagine that the initial wave function is positive and real (which is possible for zero-velocity particles). The Feynman diagram (perturbatively) quantifies the change of the wave function. One may imagine, at some approximation, that it changes the two single-particle wave functions separately. Or you may imagine that one of the particles is superheavy and only the lighter particle's motion may be affected by the interaction (and the Feynman diagram).
The change of the lighter particle wave function, as evaluated from the Feynman diagram, vanishes at the center of the original wave packet. It has the opposite sign on the side closer to the other particle than on the opposite side. However, the overall sign of the Feynman diagram matters, too. In one case, the change of the wave function reduces the probability that the two particles are closer, and enhance the probability that they're distant - that's the repulsive interaction; for the opposite sign of the Feynman diagram, it's the other way around.
In fact, I cheated a little bit: the first change of the wave function has an "i" in it, and reduces the original zero-velocity wave function to a wave function of a particle with a small velocity; its sign will depend on the charges, just like in the previous paragraph. The previous paragraph is easier to talked about, so let me continue.
The Feynman diagram for 2 particles contains two electromagnetic vertices and each of them brings a multiplicative factor of "Q" - the electric charge of the corresponding particle. That's how the Feynman rules work. The Feynman diagram itself is a function of the positions (or momenta) that is therefore proportional to "Q1.Q2". If that's positive, it means that the change of the wave function is positive - i.e. has the same sign as the initial wave function - for separations greater than the original one. That's how one gets the repulsive force because the final particles are further in average. If "Q1.Q2" is negative, one gets the attractive force for the same reason with the opposite sign.
To summarize, the Feynman diagram is a function proportional to "Q1.Q2" whose sign determines the interaction's being attractive of repulsive because it decides about the relative sign of the initial wave function and its change, and the change of the momentum or position of the initial particles is encoded in this relative sign.
To imagine that the intermediate photon is literally a "ping pong ball" that can only cause a repulsive interaction would be way too simplistic - especially because such an idea neglects the quantum mechanical fact that the positions of particles are encoded in wave functions. But in fact, one may explain the repulsive and attractive interactions in this picture, too. It's because assuming a positive energy, the momentum carried by the "ping pong ball" photon is "negative" for an attractive interaction.
A: The wavefunction of a photon includes polarization as part of its description. The electric field is determined from the polarization, but in quantum electrodynamics, the electric field operator doesn't commute with the particle number operator. However, from the relative phases of diagram contributions with no photon exchange, one photon exchange, two photon exchange, etc., the direction of the electric field due to virtual photons depends upon the charge of the particle.
A: This answer is a simplified one to reply to the comment of @Charles as well as the OP question.
Suppose I am an electron. I move along playing ball with my electric field, i.e. I throw off virtual photons which break up into virtual electrons and postitrons and join up again to become a neutral photon, happily along.
Now suddenly one of my virtual electron( or positron)  meets a virtual electron ( or posistron) pair from another charge entity. How will I know if the other real charge entity  is an electron or a positron? 
By how often my virtual balls are repelled or attracted. It means probabilities for path  tracks , and crossections for it to happen. If there is repulsion( the paths diverge), then I know it is another electron I am approaching. If there is attraction, (the paths converge) then it is a positron. This has been measured experimentally of course.
The theory as Lubos gave in his answer encodes this simple experimental fact: like charges repel, unlike attract.
