A couple new GPS shields for Arduino have just come on the market.
The first is the Sparkfun GPS shield. It's a basic shield, which allows other shields to be stacked on it. No code is provided, although you can use ArduPilot code for our GPS parser. It comes with an EM406 connector, so you can use either the EM406 or the uBlox5 with our adapter. $16.95
The second is a new version (1.1) of the AdaFruit GPS shield with SD-card logger. This one improves on the original version with a better level shifter for the SD card, which should make it comptible with more cards. It's highly recommended that you use this with a Atmega328-based Arduino, rather that the Atmega168, since the limited memory in the Atmega168 makes it difficult to add any code but the most basic GPS logging. With the Atmega328, you can simultaneously log other data, such as other sensors. Also designed for the EM406 or the uBlox with our adapter. $19.95