Scenario one is usually the best choice in production. It's better to have a quality database server managing your databases and simply use a connection string to have your application on the server connect to the DB on the DB server. However, this is usually a more expensive option in hosting and you don't always have that option. Even if you do, you'll need to be able to upload and download data between your local instance of SQL Server Express and the production database or the two will quickly get out of synchronization, and that's usually a more difficult development scenario than putting together a synchronization procedure.
If you don't have that option, scenario two is the easier and cheaper scenario although it means one server will be managing both the application and the database which is difficult if you need the performance. However, the .mdf file, once in your App_Data folder is easy to copy up and down from the server like any other file making synchronization a snap, and you can set the connection string to work off the database directly from the App_Code folder which makes development and production simple to manage.
Whatever you can do or dream you can, begin it. Boldness has genius, power and magic in it. Begin it now.
-Johann von Goethe
When Two Hearts Race... Both Win.
-Dove Chocolate Wrapper
Chroniclemaster1, Founder of www.EarthChronicle.com
A Growing History of our Planet, by our Planet, for our Planet.