If your app was developed using Series 60 2.0 SDK, and uses features not in Series 60 1.2, it would explain why it doesn't work on a 3650.
If it doesn't work on a 6670, which is a Series 60 2.1 phone, it may mean that your application uses undocumented APIs or documented APIs in an undocumented way, or that the implementation changed somehow (e.g., dependency in app for specific colour depth or hardware features, etc.).
Without details (what the app does, how it fails, what calls it makes = source code, etc.) it is hard to be more specific.
Testing with just the emulator and one device cannot guarantee that app will work on all others due to reasons as above.