MT5 build 6182 - returning-callback scheduling controls v3

Synthetic tests only: one fixed HLINE on newly created custom symbols.
No original proprietary indicators, account details, terminal logs, machine paths,
debugger, memory patcher or trading functions are included.
This is NOT proof of an internal terminal defect or of the historical415 cause.

Install the four supplied folders under MQL5/Experts without renaming them.
Compile all three mq5 files in each folder in MetaEditor. Use a separate demo
diagnostic terminal, a connected market-symbol chart, and run ONE controller
at a time. Its EA must be allowed to initialize. Do not run these tests on a
live-trading terminal. Controllers create custom symbols and charts, run four
timeframes until an error, and leave a failed chart attached for inspection.
Remove the diagnostic EAs and close their charts when finished. These sources
contain no trading calls. The controller requires TERMINAL_CONNECTED.

Each case is bounded by20000 rounds or30000ms, with a120s controller watchdog.
No Sleep or busy-poll barrier is used. Health timers return after one check.
The sources and templates here are byte-for-byte copies of those executed.
Each paired/serial read accumulates rows in memory and writes/flushes/closes
its TSV at the end. Init logs and controller logs close on every write.

Test94 ExplicitChart94: capture positive ChartID in each OnInit, use it in
ObjectGetInteger, and log it. Same paired callbacks as public v2.
H4 indicator call2758 returned4102 after3156ms, EA succeeded. The target ID
was identical to the controller-owned chart. M15/H1 did not reproduce; D1
was not run after the H4 failure. Chart-ID zero is therefore not necessary.

Test97 SerialDiag97: event17 performs EA read; only after it completes does
event18 perform indicator read; then next event17. Both callbacks return.
Four timeframes completed15064 total reads with zero errors. Cross-stream
timestamps confirm nonoverlapping read intervals. Additional init diagnostics
were introduced after test96 ended at its watchdog without reader logs.
That incomplete96 run is NOT a passing serial control.

Test98 PairedDiag98: same init diagnostics and explicit ID as97, returning
to one shared event17 per round. M15 indicator call1795 returned4102 after
3031ms; EA succeeded. Later timeframes were not run after this failure.

Test99 PairedTwo99: paired reads share event17, but both must complete before
an intermediate event18 schedules the next event17. This uses two event
dispatches per round as97, without adding sleeps. Results are in its audit.
Two event dispatches do not guarantee an identical measured call rate.
Any error-free sample is bounded non-reproduction, NOT a root-cause fix.

Raw reader TSV columns (no header, timestamps not normalized):
round, begin_GetTickCount64, end_GetTickCount64, object_type, immediate_error,
IsStopped_before, IsStopped_after, query_ChartID.
Successful HLINE value=1/error=0. Recorded failing value=0/error=4102.
Controller TSV: timestamp, case_index, status, synthetic_symbol, chart_id.
See each independent audit.json for exact counts, errors and hashes.
SHA256.json covers the public package files. No compiled binaries are supplied.
