My asp is a little rusty but I managed to track this down to the following...
There is a SQL update statement in functions_login.asp that after substitution becomes this:
UPDATE tblAuthor WITH (ROWLOCK) SET tblAuthor.Last_visit = '20160106 18:18:50' WHERE tblAuthor.Author_ID = 1;
When I execute this statement using SSMS, it fails the same way as the app so I am pretty sure I have nailed it. The field tblAuthor.Last_visit is defined in the SQL database as datetime2 which I am not familiar with. I normally code fields as datetime. I assume that the Microsoft conversion utility decided to make it datetime2 and that may be the problem.
When I added a field defined as datetime and applied the same query against it, it ran fine. So I am thinking of just deleting that column and recreating it as datetime.
Can you advise if there is anything wrong with that tweak as far as you know?