How is the speed of light constant in all directions for all observers? Please imagine the following thought-experiment:


Order of Events:


*

*Pulse - A single pulse of light is emitted from the light towards the mirror

*Reflect - The pulse hits the mirror and is reflected back towards the light 

*Return - The pulse returns to the light.


Observers:


*

*BoxGuy - An observer on the boxcar

*PlatGirl - An observer on the platform



Question:
With the above configuration, how can the speed of light be constant for both observers in both directions?
Analysis:
Assuming the speed of light is constant for BoxGuy relative to himself, the time between Pulse and Reflect is equal to the time between Reflect and Return.  This is because the distance the light travels relative to him is d in both cases.
With the same assumptions for PlatGirl, the time between Pulse and Reflect is less than the time between Reflect and Return.  This is because the mirror will travel 2 * d on the away trip (because when light has traveled 2 * d, the mirror will be d farther to the left, so both the mirror and pulse will be in the same location), but only 2/3 * d on the return trip (using similar logic). 
Assuming that the light pulse is in the same location for all observers at any given moment, Pulse has to occur simultaneously for both BoxGuy and PlatGirl, Reflect has to occur simultaneously for BoxGuy and PlatGirl, and Return has to occur simultaneously for BoxGuy and PlatGirl.  
Finally, if we try to figure out the relative passage of time for BoxGuy and PlatGirl with the above, we get that time travels faster for PlatGirl than for BoxGuy during Pulse-Reflect.  This is because light travels farther for her (2*d) than him (d) during that time.  With similar logic, we get that time travels slower for PlatGirl than for BoxGuy during Reflect-Return.  
The last conclusions do not make sense, since the coming or going of a beam of light should not affect the relative time-lapse for two observers.  For example, if this were the case what would happen if another pulse was emitted the moment the first pulse is reflected?  Time cannot move faster AND slower for both of them.
Thus, either the speed of light is not constant, the same light beam can simultaneously be in different locations at once for different observers, or there is another flaw in the analysis.  
Which is it and why?
Notes:


*

*As mentioned by other users, d will be shorter for PlatGirl than for BoxBoy according to SR.  However, the duration of Pulse-Reflect is still shorter than Reflect-Return for PlatGirl, and the durations are equal for BoxBoy.

*In response to my question on Mark's answer, we can use the Lorentz Transform to calculate PlatGirl's space-time coordinate for BoxGuy's Reflect observed event, which happens at (d,d/c) in his frame of reference:
$\lambda = (1/\sqrt{1-.5^2}) = (1/\sqrt{.75}) = \sqrt{4}/\sqrt{3} = \frac{2\sqrt{3}}{3}$
$t' = \lambda (t - vx/c^2) = \lambda (d/c - (-.5) \cdot d/c) = \frac{2\sqrt{3}}{3} \cdot (1.5d/c) = \sqrt{3}d/c$
$x' = \lambda (x - vt) = \lambda (d + .5c \cdot d/c) = \frac{2\sqrt{3}}{3}*1.5d = \sqrt{3}d$

*Similarly for (0, 2d/c):
$t' = \lambda (t - vx/c^2) = \frac{2\sqrt{3}}{3} (2d/c) = \frac{4\sqrt{3}}{3} d/c$
$x' = \lambda (x - vt) = \frac{2\sqrt{3}}{3} (.5c \cdot 2d/c) = \frac{2\sqrt{3}}{3}d$
 A: It always helps to draw the right picture.

This picture assumes that Boxguy is standing next to the lamp, and that the flash leaves the lamp just as it passes PlatGirl.  (If, for example, BoxGuy were standing next to the mirror, the picture would look a little different.)  
The black vertical line is Platgirl's worldline, and any black horizontal line is "the world at a particular instant" according to Platgirl.  She measures distances along any one of these lines.  
The blue near-vertical line is BoxGuy's worldline (and the lamp's).  Each of the other blue lines is "the world at a particular instant" according to Boxguy.  He measures distances along any one of these lines.
The broken gold line is the path of the light beam, from the lamp to the mirror and back.
Both Platgirl and BoxGuy will agree that the gold lines traverse $x$ units of space in $x$ units of time (I am taking the speed of light to be 1.)  That's because the light rays are at "45 degree angles" to the axes in both PlatGirls's and Boxguy's opinion.  (Don't forget that Boxguy views the two thick blue lines as perpendicular in spacetime, and note that the gold line bisects the angle between them.)
By staring long enough at this picture, you ought to be able to describe exactly what's happening from both BoxGuy's and Platgirls' points of view, and to see how they're two different ways of describing the same thing (i.e. two different ways of assigning coordinates to points on the same gold line).  
Note in particular that the near-horizontal blue lines are equi-spaced, so that Boxguy says the light beam takes equal amounts of time on its way out and on its way back.
[It helps to remember that points along a vertical line all occupy the same location in space according to Platgirl, and that points along a line parallel to his worldline all occupy the same location in space according to BoxGuy.  I didn't draw these gridlines for fear of making the diagram look too intimidating, but it might help to add them.]
A: The problem is in a misunderstanding of "simultaneous". 
"Simultaneous" refers to two different events that occur at the same time in some particular reference frame, but you're applying it to the same event in two different frames. So it doesn't make sense to say "Pulse has to occur simultaneously for both BoxGuy and PlatGirl." That's a single event - it can't be simultaneous all by itself, even when observed by two different people.
You could, if you want, set the origins of the coordinate systems they are using so PlatGirl and BoxGuy assign the same time coordinate to Pulse. If you do, they will not assign the same time coordinate to Reflect. The time between the events Pulse and Reflect is different in different frames. 
Additionally, PlatGirl and BoxGuy will not agree on the length of the boxcar. Your calculation assumes they both measure the length to be $d$, but actually PlatGirl will observe the boxcar to be Lorentz-contracted.
One way to analyze your scenario is to set up coordinate systems $S$ for the boxcar and $S'$ for the platform. We set (x,t) = (0,0) = Pulse in both systems.
In frame $S$ (box), the coordinates are:
Pulse: (0,0)
Reflect: (d,d/c)
Return: (0,2d/c)
In frame $S'$ (platform), the coordinates are:
Pulse: (0,0)
Reflect: $(\sqrt{3}d,\sqrt{3}d/c)$
Return: $(\frac{2\sqrt{3}}{3} d, \frac{4\sqrt{3}}{3} d/c)$
You can verify that in both frames, light moves outward at speed $c$ and returns at speed $-c$
In reply to your edit, yes the durations from Pulse to Reflect and Reflect to Return are the same for BoxGuy and different for PlatGirl. That is just a fact. That's how it is. Notice, though, that the spatial separations are also different. For BoxGuy, these events the same distance apart. For PlatGirl, they are different distances apart. What's the same between frames is the interval $\Delta x^2 - \Delta t^2$.
A: The simple, but I believe correct, answer is that the speed of light is not constant to all observers in all directions, but it appears very much to be so due to the different ways that different observers measure and perceive distance.
The speed of light is only truly constant when observed across the fabric of the universe through which it travels, and w.r.t. which the rest of us normally have a (peculiar) velocity. 
The animation below represents a Mickelson Morley like experiment.
Notice that both the time the light takes to travel and the distance travelled are the same for both horizontal and vertical light. 
The horizontal offset, which is hugely exaggerated (as is the planetary rotation speed), represents a time delay, that would have shown up as a fixed phase shift. This, from what I understand, was predicted and compensated for. There would, however, be no difference in frequency or continuous phase shift.

A: It's not just that the concept of absolute velocity is impossible to know its that the concept itself doesn't have any meaning (in relativistic theory). Saying "I am approaching the speed of light" is an ambiguous and often misleading statement. The correct formulation (relativistically speaking) would be "there is an observer in a certain frame of reference who is currently measuring my velocity as seen from his/her frame of reference to be approaching the speed of light".
v (in formula's with v/c) refers to that measured velocity and infers a frame of reference and a measurement process.
Saying the speed of light is absolute is really a short cut for the following statement: "No matter in which frame of reference an observer sits every time he or she measures the speed of light he or she appears to get the same value". This is an experimental statement which is postulated as a physical law because nobody has credibly demonstrated an experiment contradicting this.
Statements about faster-than-light phenomena all have to do with faster-than-light expansion of space itself. Relativity only talks about relative velocities through space itself.
Once again, saying "I have no way of knowing whether I am at rest or moving" is equivalent to saying "I have no way of knowing whether I am taller or shorter". Taller or shorter than what? At rest or moving with respect to what?
A: Please correct me if I am wrong. But I think that the speed of light, measured distance and time from a frame of reference are concepts defined relatively to each other. In the sense that we fix the speed of light and define distance and time relatively to it.
In particular I am not really convinced that the measured speed of light is the same in every reference frame. It is the same only if you measure it with a mirror so that the beam once travels away from the observer and once towards him. 
I think that the time actually slows down as you approach the speed of light and since we keep it constant the concepts of simultaneity and distance are redefined though a Lorentz transformation according to which the events ahead the moving observer look closer in space-time and the ones behind him look farther. 
This whole assumption of constant speed of light is a consequence of the ambiguity between rest and motion. In fact an observer within an inertial frame of reference has no way to know his velocity thus he assumes that he is at rest and uses the speed of light to measure distances and simultaneity around him. This results in a geometry described by Lorentz transformations. If he knew his velocity he could have a better knowledge of simultaneity since you can move away or towards light sources.
An observer can easily measure a higher or lower speed of light with a 'simple' setup. A spaceship, a sensor and a light screen. When he crosses the sensor check point the light screen turns on. If he travels through the screen and doesn't know the distance between the sensor and the screen he will use the speed of light to judge the screen closer to him. The opposite is valid if he travels away from the screen.
Another possibility is that the observer measures the distance between check point and screen in a frame of reference where there is no relative velocity. Then when he passes the check point he measures the time needed to detect the light screen and knowing the actual distance he would have measured a faster (or slower) speed of light which he can use to measure his own speed and correct the Lorentz induced distortion of space time.
(EDIT)
http://en.wikipedia.org/wiki/Tests_of_special_relativity#Constancy_of_the_speed_of_light http://en.wikipedia.org/wiki/One-way_speed_of_light
Ok I have done some research, here are two articles that can clarify where the confusion arises. Is seems that Lorentz transformations were based on an anisotropic one-way speed of light meaning that you would measure a different one-way speed of light depending if you move toward or away from a source. Still the two-way speed of light is the same as in special relativity and this is actually the only way to currently measure it accurately (it is hard to get accurate synchronization and also to approach the speed of light).
Einstein took Lorentz equations to build his special relativity theory and he also added the assumption that the one-way speed of light was the same for every inertial reference. This assumption redefines the concept of simultaneity. Now both theory are mathematically and experimentally correct and they can both be used as model for reality and after all the one-way speed of light is not that important.
To summarize Special Relativity uses the assumption of constant one-way speed of light to define simultaneity (i.e. things happen when their light reaches you). According to Lorentz synchronicity for inertial frames is assumed thus the one-way speed of light is not a constant (things happen but depending on your relative velocity their light reaches you after more or less time).
