The problem is that you can not attach your mdf to an SQL instance that is lower than the version the mdf was created in. I might well be wrong but you will need to update your server with the R2 version of sql and not base 2008 version it is currently.
UPDATE 1
It just occurred to me that you could generate scripts for your 2008 database and use those scripts to create an R2 version on the server.
UPDATE 2
Just seen you other post about the same topic on StackOverflow:
http://stackoverflow.com/questions/11143612/cannot-attach-2008-r2-database-to-2008-instance[
^]
People are suggesting the same. However, There is an interesting link here:
http://robindotnet.wordpress.com/2011/02/06/how-about-a-bootstrapper-package-for-sqlserver-express-2008-r2/[
^] on creating an SQL express 2008 R2 bootstrapper (pre-requsite) that you maybe able to use.
The only problem is that if we are talking about server environments, is it wise to have a pre-req in this manner? should the infrastructure support not be notified and manage a server upgrade (including service packs)??? Installing an application that does this for someone's server could be quite harsh???