If you ever have such misfortune to have to use an early version of SQL Server CE (< 3.0.5300.0) then this is an interesting issue. Whilst it was a limitation at the time it's taken a while to work through to a resolution.
I re-checked over everything on the device. Now whist the installer package had the right DLL included in it for 3.0.5300.0 these were not copied to the application directory "$\DEVICE\Program Files\My Application". In order for me to be able to compile the database on Windows 7 /8 and have that database work on a Windows 6.5 device I had to manually ensure that the correct files were in both the desktop application and on the windows device.
The files I included in both applications were as follows:-
- sqlceca30.dll
- sqlcecompact30.dll
- sqlceer30EN.dll
- sqlceme30.dll
- sqlceoledb30.dll
- sqlceqp30.dll
- sqlcese30.dll
- System.Data.SqlServerCe.dll
They have a version of 3.0.5300.0 and date modified of 22/12/2006 and I sourced them from "C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.1", when compiling under any earlier version (for me anyway) failed.
Hope it helps anyone else who might get stuck with this as I didn't see much out there.