1. Database Naming
You appear to have discovered a feature I was unaware of !
If you do this:

If that db does not exist it is created, in the default location for sqlite databases:
/data/data/<packageName>/databases/my_pos.db
If that db exists, then it is set as the working database.
The default database - SimpleSqlite.db is still there, you have to use the DBName block to set that as the default:

When the app starts, it will use SimpleSqlite.db, unless a different db is set using the dbName property.
Important:
Whilst creating new databases in the default directory is a good thing from an app/data security viewpoint, there is, I understand, no way to list the contents of that directory (ref), so you will need to keep a record of any databases created there. This location is app specific, so only the app that created these databases can access them. There is also no method to delete the databases created in the default directory.
.
.
.
2. length=0; index=0 Runtime Error
when a query returns an empty array

I thought I had fixed this previously, which I had done for the SimpleSqlite1.Run - sql block, but some work was also required with the SimpleSqlite1.ListFixer - queryOutput block, which was not handling the return of an empty list. This should be fixed now with the following updated version of the SimpleSqlite extension:
SimpleSqliteV4.13
If a query returns no results, you will get back an empty array/list -> [ ].
No doubt, and knowing my luck..., this will have a knock on effect somewhere else in the code ! 