Needs:

  • small WinForms client application (CFour., WinForms or WPF)
  • a couple of customers working simultinausly
  • no database service whatsoever - the entire engine as *.DLLs inside client applications
  • database available as shared folder on a single computer
  • a minimum of simple concurrrency inspections
  • suitable for nHibernate or EntityFramework / Internet 4.
  • backup as easy as copying files from shared folder - presuming no running clients right now
  • no saved methods/triggers needed
  • data size - a couple of tables along with a couple of 1000's rows after 24 months

Nice to possess:

  • user access privileges
  • encoded data

I am trying to choose from:

  • MS Access
  • SqlLite
  • SqlServer Compact Edition.

Are you able to recommend which ought to be the perfect for these needs?

SQLite could be a wise decision with this. It hasa really small footprint. But you may also take a look at MongoDB too. I'm however yet to determine the support for Entity Framework et al.

With your limited criteria, limited rows inside a couple of years, it seems to become things i would think about a "disposable" application. Whatever is fastest and simplest would most likely be Access

SQLite is a great alternative, however, you should setup it properly.

Take a look here:

How Scalable is SQLite?