This is almost always caused by a SQL CE version difference between what you compiled against on the PC and what you have deployed on the device. Make sure that the SQL CE version number is identical in both your project references and what is on the device. Typically I add the reference not from the ".NET" tab in references, but I specifically brows to the reference so I know exactly which file is being used, and then manually deploy SQLCE from the same location to the device.
*EDIT
The location you should be looking for the files to deploy is here:
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i
And your project reference should point here:
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\System.Data.SqlServerCe.dll