Snapshot and Dynaset has nothing to do with controlling concurrency - users will be able to view data equally fine. It's the locking aspect that determines how user can view and edit data. But what snapshot and dynaset actually means is that with a snapshot, you are downloading a full set... as if you were taking a snapshot. Once it is downloaded, there is no further communication with the source of that recordset. This usually is a good candidate for binding to comboboxes, listboxes, and report. Dynaset, on the other hand, just downloads the keys (usually primary keys or unique indexes but for a badly designed query or table, as many columns needed to uniquely identify a row in the resultset), and fetch the actual rows only when you navigate to those rows. This is good for forms since you can be sure you're getting the most current version of the row as you navigate through the rows and if set up correctly, you can see others' edits (but not unfinished edits).
But either has nothing to do with whether one is allowed to view other's edits, when it can be viewed, and when one can edit without conflicts. This is determined in LockType and Options property.
I wonder if you split your database? Users should not be sharing the same file.