IJR: Here's something even more versatile
Using a user defined function in place of a named formula is a more flexible solution in that there is no restriction on the location of the formula cell with reference to the source cell.
My Regional Setting for date is dd-mm-yyyy.
In a VBA module type the following code:
Public Function DateGerman(Ref) As String
If IsDate(Ref) Then
Mo = Month(Ref)
MoName = WorksheetFunction.Choose(Mo, "Januar", "Februar","Marz","April", "Mai","Juni","Juli", "August","September","Oktober","November","Dezember"
DateGerman = Format(Day(Ref), "00 "

+ MoName + " " + Format(Year(Ref), "0"
End If
End Function
Note that we use the VBA function IsDate to check if Ref is a valid date - if not, the function exits with a "" (null) value. Also that the Day(), Month(), Year() functions here are VBA functions - so the 'WorksheetFunction.' prefix is not used.
With this function in place, you are freed of restrictions of both location and type of source date. Ref can be either a cell reference containing a date OR a date itself OR a even a string that looks like a date.
All of the following will return the same result:
=DateGerman(B2) - if cell B2 contains the date 12/3/56
=DateGerman("12/3/56"

=DateGerman("12 Mar 56"
Really prolific, isn't it?
If you put this code in Personal.xls (which resides in XLStart and opens every time Excel is used), you can use the function in ANY open workbook and it'll work.