And, no, you do not necessarily need to use formatting every time you use the date command. If you need output which does not match the default for your current locale then you can either change your locale setting by redefining the LC_TIME environment variable or using formatting strings.
Something else is odd in the OP's envrironment. You can create custom envrionments
-- en_US.ISO8859-1 is standard AFAIK. So on an untweaked system:
worx> locale
LANG=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES=C
LC_ALL=C
worx> date
Tue Feb 16 13:54:13 MST 2010
worx> export LC_TIME=LC_TIME=en_US.ISO8859-1
worx> date
Tue Feb 16 13:54:24 MST 2010
worx> export LC_ALL=en_US.ISO8859-1
worx> locale
LANG=
LC_CTYPE=en_US.ISO8859-1
LC_NUMERIC=en_US.ISO8859-1
LC_TIME="en_US.ISO8859-1"
LC_COLLATE=en_US.ISO8859-1
LC_MONETARY=en_US.ISO8859-1
LC_MESSAGES="en_US.ISO8859-1"
LC_ALL=en_US.ISO8859-1
worx> date
Tue Feb 16 13:55:46 MST 2010
The locale defined for LC_TIME in en_US.ISO8859-1 does not vary from locale == C. At least on an out-of-the-box Solaris install. Somebody has customized that locale file on the OP's box. IMO.