Excel Power Query Gives an Error Finding a Named Range When Multiple Workbooks are Open

I have a parameterized SQL query (example below of what was typed into the "Advanced Editor") feeding a sheet on an Excel 2016 workbook, "BookA", from an ODBC connection. The parameter is a named range on "BookA". The connection is set to refresh (execute the query) every minute. If the user has only "BookA" open or has multiple workbooks open but has "BookA" as the active workbook, everything works as it should. If the user opens another workbook, "BookB", and has it selected and active when the refresh of "BookA" occurs, an error dialog pops up stating "[Expression.Error] We couldn't find an Excel table named 'MyParamName'." It is as if the query is running in the context of "BookB".

let
    Source = Odbc.Query("dsn=MyConnection", 
                        "select 'This Fails With ""MyParamName"" Not Found :" & Excel.CurrentWorkbook(){[Name="MyParamName"]}[Content]{0}[Column1] & "';")
in
    Source

The above assumes that "MyParamName" is defined as a named range with a text value stored in the first cell of the range somewhere in "BookA".

This is a workbook that gets distributed to users by email; they are at liberty to rename it and store it wherever they please. In other words I cannot make use of an absolute path to the workbook in the m-code to give context to the named range so I have to use Excel.CurrentWorkbook() rather than Excel.Workbook(File.Contents("BookA.xlsx"))

Instructions For Reproducing this bug:
1) Create an ODBC connection (using ODBC Data Sources app) to your favorite SQL flavored database and name it "MyConnection".
2) Create an Excel Workbook and Name it "BookA".
3) Create a named range on sheet1 called "MyParamName" and type some text into the first cell in the range.
4) Go to the "Data" tab in Excel and click "New Query > From Other Sources > From ODBC".
5) In the Dialog select the DSN named MyConnection and click on "Advanced Options" and paste select 'Hello World' as "Test"; into the optional SQL statement area. Click "OK".
6) In the subsequent dialog change the option from "Load" to "Load To...".
7) In the following dialog select "Existing worksheet", choose an appropriate location for the returned data and click "Load".
8) On the "Data" tab click "Show Queries".
9) Double click on "Query1" in the "Workbook Queries" list.
10) Click on "Advanced Editor" (which is the least advanced editor I have ever experienced!)
11) Replace the contents of the editor with the code sample above (let ... source).
12) Click "Done" on the "Advanced Editor" and then click "Close & Load" on the query editor.
13) The query should execute and the data will appear in BookA at the location chosen in 7).
14) On the Excel "Data" tab, choose "Connections" and double click "Query1".
15) Set "Query1" to refresh every 1 minute and click "OK" then close the "Connections" dialog.
16) Now open a second Excel Workbook (anything other than BookA) and leave it open and active.
17) After a minute an error dialog should pop up: "[Expression.Error] We couldn't find an Excel table named 'MyParamName'."

Has anybody else seen this? Is there a solution/workaround?