This has more to do with how computers work than with p-values. You have to remember that computers can't represent real numbers exactly. We are dealing with [floating point numbers][1]. So some algorithms will never get exactly zero, even if analytically the result should be zero. For example `(0.3-0.2) - (0.2-0.1)` will not give you zero.

You can see that most of your estimates are essentialy zero: 

    all.equal(-3.348e-15, 0)
    TRUE
    all.equal(-9.377e-16, 0)
    TRUE

The same goes for your standard errors: they are zero.


  [1]: http://en.wikipedia.org/wiki/Floating_point