I've stumbled upon an interesting issue within the past two days that involves the Samsung Infuse running Android 2.2.1 (although I have only witnessed the issue on this particular device, my gut feeling is that this problem exists on all Samsung devices that run Samsung's skinned Android OS of 2.2.1).
The issue pertains to SharedPreferences. Apparently, Samsung has changed the default directory for an application's SharedPreferences' file to lie outside of the application's sandbox directory. This would not be a big deal, except for one small problem: If a user installs an application on this device and we store something in the SharedPreferences, it will remain on the device until the device is wiped. Normally, an application's SharedPreferences file will be wiped if the user clears an application's data (Settings > Applications > Manage applications > Application Name > Clear data) or the user uninstalls the application. With Samsung's change, however, the SharedPreferences file will live through this.
To test this, I have developed a small application to take advantage of storing data in SharedPreferences as well as storing data in an SQLite database. The database is wiped (as expected) on all devices when the user clears their application data or uninstalls the application. The SharedPreferences is wiped (as expected) on all other devices except the Samsung Infuse when the user clears their application data or uninstalls the application.
This becomes a big deal if a user installs an application and something is stored in their SharedPreferences that could lead to an issue (such as an email address with a new line character that will cause our servers to return a 400). Even if the user clears their data or uninstalls the application on a Samsung Infuse, they will continue experiencing problems because the SharedPreferences is not being wiped properly.
I would not consider this an emergency type of problem, but I definitely consider it something worth knowing and considering before you use SharedPreferences again.
To get around this problem, I developed a check that would determine if the application had been cleared on application launch. If it had, I simply clear the SharedPreferences. I could have moved everything over to a SQLite database, but this seemed like overkill for my situation.