I managed to find the cause of the problem using the "adb" command following this YouTube tutorial: https://www.youtube.com/watch?v=3wMlCucwGvE
When I followed these instructions I could see the following output
10-27 08:14:12.580 3967 3986 E SQLiteDatabase: Failed to open database '/databases/MyDB.db'.
10-27 08:14:12.580 3967 3986 E SQLiteDatabase: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 1294): Could not open database
10-27 08:14:12.580 3967 3986 E SQLiteDatabase: #################################################################
10-27 08:14:12.580 3967 3986 E SQLiteDatabase: Error Code : 1294 (SQLITE_CANTOPEN_ENOENT)
10-27 08:14:12.580 3967 3986 E SQLiteDatabase: Caused By : Specified directory or database file does not exist.
10-27 08:14:12.580 3967 3986 E SQLiteDatabase: (unknown error (code 1294): Could not open database)
10-27 08:14:12.580 3967 3986 E SQLiteDatabase: #################################################################
So this output - together with my original error message is telling me that I am trying to close the db before I have opened it.
So this raises two questions in my mind:
1] Howcome it works perfectly in the emulator?
2] Do I need to check if a db is open before I try and close it?