Wawan,
I was waiting for this question
This is the grey area of Compact SQL.
In a Terminal Server situation, each user is regarded as kind of interactive service account, while you have your own login, you share the resources of the host computer including applications.
So, yes technically, you could run Compact SQL, and most likely have no issues as you conform to the single computer scenario, and because the database is only accessed by a single application it
may work in theory.
Now you are thinking that I am dodging the question, and your right. Microsoft have not documented Compact SQL very well in terms of what will and will not work, and it has been trial and error. Compact SQL does not stop multiple connections, but what it does not do is handle these very well in respect to data integrity, data commits to the file and file sharing.
Quote from an SQL forum
"Two or more processes cannot simultaneously access the same SQL Server Compact database over a network share because the second process will cause a file-sharing violation error. However, a process can open multiple connections to the database. For example, the process can run an Insert query on one connection and a Select query on another connection at the same time. "
Test it, push it and try to break it.
What I will tell you from personal experience for production environments
Compact SQL - Single Standalone Terminal
SQL Express - Networked & Terminal Server
If in doubt, install SQL Express 2008 - it's not that hard.