You cannot lose data in a detach/attach. SQL Server supports the ACID requirements for relational databases. D stands for durability, meaning once a transaction has committed, the changes that transaction made are durable and will not be lost.
Sure, take a backup in case something goes wrong and tell the users that the app won't be available for the period, but that's just good common sense.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability