Issue of subsequent queries not refreshing listing with AsyncTaskLoader has been fixed. With the support library, I need to call forceLoad() on the initial line to initialize the loader. What was not in the article but seemed to work for me is using restartLoader() instead of initLoader(). With initLoader() queries before the first would just return the first query results. See http://stackoverflow.com/questions/10524667/android-asynctaskloader-doesnt-start-loadinbackground
New feature: changed Android manifest and activity_main.xml layout to allow changing orientation while program is running and even during the middle of a query (the previous AsyncTask implementation didn't seem to allow this, which is an advantage of AsyncTaskLoader). If the orientation changes while the progress dialog is actually showing, there is a "memory leak" mention in the Log but the query still completes.