Time out errors - MS access front end with SQL backend
The Timeout Expired error you're seeing is very likely due to how Microsoft Access fetches rows from SQL Server.  If, for instance, the form in question uses data-binding to populate controls on the form with data from SQL Server, and there is no filter on the form that selects a SINGLE row of data, Access will keep the results open, and "page" through the rows one single row at a time.  This will prevent others from updating any of the rows in the table. 

For a system used by 1,000 users, you should never ever use Access as a front-end, as tempting as that may be.  Use Access  (it you must) as a rapid design prototyping tool, then build out the real solution using Visual Studio or some other enterprise-level development software.