To sum up a bit on unit vs functional read this :
http://beust.com/weblog/archives/000444.html
and on amount of tests, this :
http://beust.com/weblog/archives/000463.html
Also, I greatly believe most of the toughness in writing tests for
developers(ones that I see) is due to their bad design, as I said
"Design for Testing"(see http://ootips.org/design-for-testing.html).
Unit testing makes classes and modules interdependent and that helps
you write functional tests easier. But however, you can get away with
not writing unit tests, but practically should never leave out
functional tests.