Asset files are quite the same, except the Symbol names, of course:

AssetsFXCM.csv:
Name,Price,Spread,RollLong,RollShort,PIP,PIPCost,MarginCost,Leverage,LotAmount,Commission,Symbol
AUD/USD,0.77311,0.00005,0.2400,-0.5100,0.0001,0.087100,9.0000,74.820,1000.0,0.600,AUD/USD
EUR/CHF,1.07962,0.00004,0.0800,-0.2600,0.0001,0.092630,75.0000,13.334,1000.0,0.800,EUR/CHF
EUR/JPY,123.3590,0.00600,-0.3000,0.0900,0.0100,0.081066,10.0000,100.002,1000.0,0.800,EUR/JPY
EUR/USD,1.13795,0.00005,-0.0200,0.0100,0.0001,0.087100,10.0000,99.115,1000.0,0.600,EUR/USD
GBP/USD,1.51364,0.00003,0.0500,-0.1200,0.0001,0.087100,14.0000,94.170,1000.0,0.600,GBP/USD
GER30,10884.00,1.00000,-0.1000,0.0000,1.0000,0.100000,6.0000,181.400,0.1,0.000,GER30
NAS100,4185.00,2.0000,-0.1000,0.0000,1.0000,0.087100,2.0000,182.257,0.1,0.000,NAS100
NZD/USD,0.67752,0.00007,0.6000,-1.3200,0.0001,0.088713,7.0000,85.864,1000.0,0.800,NZD/USD
SPX500,2032.40,0.50000,-0.5000,0.0000,0.1000,0.087100,8.0000,221.278,1.0,0.000,SPX500
UK100,6869.00,2.0000,-0.1000,0.0000,1.0000,0.131830,6.0000,150.923,0.1,0.000,UK100
US30,17520.00,2.0000,-0.5000,0.0000,1.0000,0.087100,6.0000,254.332,0.1,0.000,US30
USD/CAD,1.24466,0.00010,-0.2100,0.0900,0.0001,0.069980,10.0000,87.101,1000.0,0.800,USD/CAD
USD/CHF,0.92203,0.00022,0.1500,-0.5800,0.0001,0.094460,50.0000,17.419,1000.0,0.600,USD/CHF
USD/JPY,117.4890,0.00400,0.0200,-0.0400,0.0100,0.074130,10.0000,87.095,1000.0,0.600,USD/JPY
XAG/USD,17.2350,0.04600,-0.0009,0.0000,0.0100,0.435470,5.0000,150.107,50.0,0.000,XAG/USD
XAU/USD,1260.82,0.47000,-0.0124,0.0000,0.0100,0.008710,11.0000,99.834,1.0,0.000,XAU/USD

AssetsIG.csv:
Name,Price,Spread,RollLong,RollShort,PIP,PIPCost,MarginCost,Leverage,LotAmount,Commission,Symbol
AUD/USD,0.77311,0.00005,0.24,-0.51,0.0001,0.0871,9,0,1000,0.6,CX.D.AUDUSD.CASH.IP
EUR/CHF,1.07962,0.00004,0.08,-0.26,0.0001,0.09263,75,0,1000,0.8,CX.D.EURCHF.CASH.IP
EUR/JPY,123.359,0.006,-0.3,0.09,0.01,0.081066,10,0,1000,0.8,CX.D.EURJPY.CASH.IP
EUR/USD,1.13795,0.00005,-0.02,0.01,0.0001,0.0871,10,0,1000,0.6,CX.D.EURUSD.CASH.IP
GBP/USD,1.51364,0.00003,0.05,-0.12,0.0001,0.0871,14,0,1000,0.6,CX.D.GBPUSD.CASH.IP
GER30,10884,1,-0.1,0,1,0.1,6,0,0.1,0,IX.D.DAX.IFD.IP
NAS100,4185,2,-0.1,0,1,0.0871,2,0,0.1,0,IX.D.NASDAQ.IFD.IP
NZD/USD,0.67752,0.00007,0.6,-1.32,0.0001,0.088713,7,0,1000,0.8,CX.D.NZDUSD.CASH.IP
SPX500,2032.4,0.5,-0.5,0,0.1,0.0871,8,0,1,0,IX.D.SPTRD.IFD.IP
UK100,6869,2,-0.1,0,1,0.13183,6,0,0.1,0,IX.D.FTSE.CFD.IP
US30,17520,2,-0.5,0,1,0.0871,6,0,0.1,0,IX.D.DOW.IFD.IP
USD/CAD,1.24466,0.0001,-0.21,0.09,0.0001,0.06998,10,0,1000,0.8,CX.D.USDCAD.CASH.IP
USD/CHF,0.92203,0.00022,0.15,-0.58,0.0001,0.09446,50,0,1000,0.6,CX.D.USDCHF.CASH.IP
USD/JPY,117.489,0.004,0.02,-0.04,0.01,0.07413,10,0,1000,0.6,CX.D.USDJPY.CASH.IP
XAG/USD,17.235,0.046,-0.0009,0,0.01,0.43547,5,0,50,0,CX.D.XAGUSD.CASH.IP
XAU/USD,1260.82,0.47,-0.0124,0,0.01,0.00871,11,0,1,0,CX.D.XAUUSD.CASH.IP


Thanks for the hint on "error.public-api.exceeded-api-key-allowance" vs. "error.public-api.exceeded-account-historical-data-allowance" (the latter I finally got just now after some more testing, unfortunately. So no more testing for one week). At least this confirms that the historical data consumption is not the main issue and the slight differences in the messages reported by Zorro about historical data were just distracting...

So what about this API limit (https://labs.ig.com/faq) then:
Per-account non-trading requests per minute: 30

Here is what I got while starting Z12 without any previous testing for (a lot) more than one minute:

2017-07-17 13:56:32.965 [main] INFO c.danlind.igz.brokerapi.BrokerLogin - Connecting to IG Real-account as xxxxxx
2017-07-17 13:56:34.630 [main] INFO com.danlind.igz.ZorroBridge - Login successful
2017-07-17 13:56:34.630 [main] INFO com.danlind.igz.brokerapi.BrokerTime - Subscribing to Lightstreamer heartbeat
2017-07-17 13:56:34.633 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer account updates for account: XXXXX
2017-07-17 13:56:34.778 [main] INFO com.danlind.igz.brokerapi.BrokerTime - Getting initial time from restAPI
2017-07-17 13:56:34.850 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: CX.D.EURUSD.CASH.IP
2017-07-17 13:56:34.852 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: CX.D.EURUSD.CASH.IP
2017-07-17 13:56:35.571 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: CX.D.USDCHF.CASH.IP
2017-07-17 13:56:35.572 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: CX.D.USDCHF.CASH.IP
2017-07-17 13:56:37.001 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: CX.D.GBPUSD.CASH.IP
2017-07-17 13:56:37.002 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: CX.D.GBPUSD.CASH.IP
2017-07-17 13:56:37.641 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: CX.D.USDCAD.CASH.IP
2017-07-17 13:56:37.707 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: CX.D.USDCAD.CASH.IP
2017-07-17 13:56:38.415 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: CX.D.USDJPY.CASH.IP
2017-07-17 13:56:38.419 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: CX.D.USDJPY.CASH.IP
2017-07-17 13:56:38.943 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: CX.D.AUDUSD.CASH.IP
2017-07-17 13:56:38.944 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: CX.D.AUDUSD.CASH.IP
2017-07-17 13:56:39.668 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: IX.D.NASDAQ.IFD.IP
2017-07-17 13:56:39.670 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: IX.D.NASDAQ.IFD.IP
2017-07-17 13:56:40.657 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: IX.D.SPTRD.IFD.IP
2017-07-17 13:56:40.658 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: IX.D.SPTRD.IFD.IP
2017-07-17 13:56:41.183 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer tick updates for market: IX.D.DOW.IFD.IP
2017-07-17 13:56:41.184 [main] INFO com.danlind.igz.handler.AssetHandler - Subscribing to Lightstreamer volume updates for market: IX.D.DOW.IFD.IP
2017-07-17 13:56:41.314 [main] ERROR c.danlind.igz.adapter.RestApiAdapter - Exception when getting historic prices for epic IX.D.DOW.IFD.IP, error was {"errorCode":"error.public-api.exceeded-api-key-allowance"}
org.springframework.web.client.HttpClientErrorException: 403 Forbidden

(I switched back from DEBUG to INFO for the above log as debug is extremely verbose)

I wonder if each of these subscription requests (I'm counting 19 or 20 of these before the error) is just one restAPI request or if there are a few more behind the scenes? If so, the 30 per minute limit could be hit. I guess this could only be avoided by active request pacing by the plugin.