У меня была та же проблема SDF, созданная в win8 с версией 4.0, и она не работала в XP.
Затем я восстановил БД с помощью следующего кода C #, теперь он работает в обеих ОС.
SqlCeEngine se = new SqlCeEngine(@"Data Source=|DataDirectory|\mydatabase1.sdf;Persist Security Info=False;");
se.Repair(@"Data Source=|DataDirectory|\mydatabase1.sdf;Persist Security Info=False;", RepairOption.RecoverAllOrFail);