Thanks Kyle, I appreciate your continued feedback. I don't think I will get much joy with the host, and suspect my best realistic way forward is to rebuild the test site and keep an eye on if and when the looping issue turns up.
I mention another anomaly in case it strikes you as possibly related or is of independent interest.
On trying to Copy an existing Tax Rule I get the following error message:
JDatabaseMySQL::query: 1062 - Duplicate entry 'GST' for key 'short_code' SQL=INSERT INTO `sag13_cbsubs_tax_rules` (`name`,`short_code`,`default`,`ordering`,`owner`) VALUES ('Copy of GST','GST','1','4','0')
Call stack
# Function Location
1 JAdministrator->dispatch() JROOT/administrator/index.php:46
2 JComponentHelper::renderComponent() JROOT/administrator/includes/application.php:153
3 JComponentHelper::executeComponent() JROOT/libraries/joomla/application/component/helper.php:351
4 require_once() JROOT/libraries/joomla/application/component/helper.php:383
5 require() JROOT/administrator/components/com_comprofiler/admin.comprofiler.php:29
6 CBController_plugin->editPlugin() JROOT/administrator/components/com_comprofiler/admin.comprofiler.controller.php:188
7 CBController_plugin->editPluginView() JROOT/administrator/components/com_comprofiler/controller/controller.plugin.php:251
8 cbpaidAdminView->editPluginView() JROOT/administrator/components/com_comprofiler/controller/controller.plugin.php:352
9 cbPluginHandler->call() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/admin.cbpaidsubscriptions.php:412
10 call_user_func_array() JROOT/administrator/components/com_comprofiler/plugin.class.php:583
11 getcbpaidsubscriptionsTab->_editPluginView()
12 cbpaidAdminView->_editPluginView() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/cbpaidsubscriptions.php:111
13 HTML_cbpaidAdmin::editPluginView() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/admin.cbpaidsubscriptions.php:666
14 cbParamsEditorController->draw() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/admin.cbpaidsubscriptions.html.php:60
15 cbEditRowView->renderEditRowView() JROOT/administrator/components/com_comprofiler/library/cb/cb.params.php:232
16 cbEditRowView->renderAllParams() JROOT/administrator/components/com_comprofiler/library/cb/cb.params.php:421
17 cbEditRowView->renderOneParamAndChildren() JROOT/administrator/components/com_comprofiler/library/cb/cb.params.php:940
18 cbpaidViewExtended->renderAllParams() JROOT/administrator/components/com_comprofiler/library/cb/cb.params.php:1352
19 cbpaidTableBrowser->draw() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/libraries/cbpaidViewExtended.php:248
20 cbpaidTableBrowser->_performTableActions() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/libraries/cbpaidTableBrowser.php:1072
21 cbpaidTable->store() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/libraries/cbpaidTableBrowser.php:973
22 comprofilerDBTable->store() JROOT/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/models/table/cbpaidTable.php:169
23 CBdatabase->insertObject() JROOT/administrator/components/com_comprofiler/library/cb/cb.database.php:92
24 JDatabase->insertObject() JROOT/administrator/components/com_comprofiler/library/cb/cb.database.php:935
25 JDatabaseMySQL->execute() JROOT/libraries/joomla/database/database.php:841
26 JError::raiseError() JROOT/libraries/joomla/database/database/mysql.php:548
27 JError::raise() JROOT/libraries/joomla/error/error.php:251