The releases of MiKTeX prior to 2.9 enabled by default only a small number of hyphenation rules: English, German (old and new orthography) and French.
Enabling hyphenation rules is different from choosing the languages for a document: the simple
\usepackage[spanish]{babel}
doesn't guarantee that correct hyphenation will be performed, unless the language was enabled beforehand and formats have been rebuilt. In the case the language is not enabled, you get the following message in the .log file written during the LaTeX run
No hyphenation patterns were loaded for the language `Spanish'
I will use the patterns loaded for \language=0 instead
The instruction for enabling languages can be found at the following link
http://docs.miktex.org/2.7/manual/hyphenation.html

After checking the desired languages (spanish, in your case, but also all the others that you need), press "Apply" and then go to the "General" panel

Press the "Update Formats" button. If all's well, a LaTeX run on your document should not present the message any more and the correct Spanish hyphenation will be used.
\usepackage[spanish]{babel}? – egreg May 31 '12 at 16:32Check all hyphenations within a document!
– TeXtnik May 31 '12 at 16:42