I should have also mentioned tried changing the code to look for the boolean return from execute as you suggested, and running the modified code you posted - same results, except the errorInfo output is not printed:
Issueing SQL prepared statement
SQL: [44] select user_id from USERS where username='?'
Params: 1
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=2
Query failed
I am curious why the errorCode is a single element array - according to the docs there should be a driver specific code and error message as well.
To make sure that it is actually connecting to the DB, I tried a bad password, and as expected I get:
PDO Connect Error (SQLSTATE[28000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES))
So I am pretty much at a loss on how to proceed......