I also believe that ATMs give you the best rate.
However, what happens when you arrive on a weekend and ATMs doesn't work - I belive this would be a worst case scenario.
Next my Citi card did not work. It took me a couple of phone calls to find out why: My Citi Card (a money market account) was a savings account for the ATM, not a checking account.
Next, spend all your D-Marks before you come back - from 2002 Germany has Euro.