cfqueryparam oddity

Anyone experience this before??

I have a query that uses a queryparam of type integer for a session variable that stores a user id. It works fine in two development environments on CF8, and a one-off test environment running CF7 full hotfixed. It WAS working in production on a CF7 fully hotfixed until this morning.....

It is now returning an error: The variable cannot be converted to the type requested

If I remove the queryparam and wrap the session var in a val() it works fine again.

The variable tests for being numeric AND an integer fine.

boggling.