This took me ages to diagnose, but here goes.
If I assign only a couple of controller axes to be controlled by FSUIPC4, everything runs fine. It doesn't matter whether those axes belong to separate devices or the same one. All is good at this point.
Once I assign half a dozen or so, then I can no longer load P3D. The point at which I would normally expect it to open the Scenario Setup page it instead just goes to a blacked out desktop and nothing else. There's no actual CTD, rather the process just hangs as a background process occupying @250MB of RAM which I have to kill manually after Alt-Tabbing away from the black screen.
At this point, the only way I can load P3D again is to manually delete FSUIPC4 from \Modules. Deleting just the .ini file doesn't do it. Then when I install FUSIPC4 again, it all works fine until I once again configure too many axes, at which point I once again only get access to my sim again by deleting it.
Here's a paste of my log file (minus my personal details):
********* FSUIPC4, Version 4.959 (19th December 2016) by Pete Dowson *********
Windows version reported as 6.2.?.9200
Prepar3D.exe version = 3.4.14.18870
Reading options from "D:\GAMES\Other Installed Games\Prepar3D v3\Modules\FSUIPC4.ini"
Running inside Prepar3D v3 on Windows 8.0 or later
Module base=18170000
User Name= [REMOVED]
User Addr= [REMOVED]
FSUIPC4 Key is provided
WIDEFS7 not user registered, or expired
250 System time = 30/12/2016 16:42:39
250 FLT path = "C:\Users\Luke\Documents\Prepar3D v3 Files\"
250 ------ Module Version Check ------
250 acontain.dll: 3.4.14.18870
250 api.dll: 3.4.14.18870
250 controls.dll: 3.4.14.18870
250 fs-traffic.dll: 3.4.14.18870
250 G3D.dll: 3.4.14.18870
250 language.dll: 3.4.14.18870
250 sim1.dll: 3.4.14.18870
250 visualfx.dll: 3.4.14.18870
250 weather.dll: 3.4.14.18870
250 window.dll: 3.4.14.18870
250 ----------------------------------
250 Trying D:\GAMES\Other Installed Games\Prepar3D v3\Modules\SimConnectP3D3.dll
250 Found it: trying to connect
250 FS path = "D:\GAMES\Other Installed Games\Prepar3D v3\"
407 ---------------------- Joystick Device Scan -----------------------
407 Product= Saitek Pro Flight Combat Rudder Pedals
407 Manufacturer= Saitek
407 Vendor=06A3, Product=0764 (Version 2.1)
407 Serial Number= Saitek
407 Product= Throttle - HOTAS Warthog
407 Manufacturer= Thrustmaster
407 Vendor=044F, Product=0404 (Version 1.0)
407 Serial Number= Thrustmaster
407 Product= Joystick - HOTAS Warthog
407 Manufacturer= Thustmaster
407 Vendor=044F, Product=0402 (Version 1.0)
407 Serial Number= Thustmaster
407 Product= Pro Flight Cessna Trim Wheel
407 Manufacturer= Saitek
407 Vendor=06A3, Product=0BD4 (Version 1.7)
407 Serial Number= RD000360
407 -------------------------------------------------------------------
422 LogOptions=00000000 00000001
422 -------------------------------------------------------------------
422 ------ Setting the hooks and direct calls into the simulator ------
422 --- CONTROLS timer memory location obtained ok
422 --- SIM1 Frictions access gained
422 --- FS Controls Table located ok
422 --- Installed Mouse Macro hooks ok.
422 --- Wind smoothing fix is installed
422 --- SimConnect intercept for texts and menus option is off
422 --- All links okay (except older global weather setting method)
422 -------------------------------------------------------------------
422 SimConnect_Open succeeded: waiting to check version okay
422 Trying to use SimConnect Prepar3D
422 Opened separate AI Traffic client okay
9110 Running in "Lockheed Martin® Prepar3D® v3", Version: 3.4.14.18870 (SimConnect: 3.4.0.0)
9110 Initialising SimConnect data requests now
9110 FSUIPC Menu entry added
9141 C:\Users\Luke\Documents\Prepar3D v3 Files\default scenario.fxml
9141 D:\GAMES\Other Installed Games\Prepar3D v3\SimObjects\Airplanes\C172\Cessna172SP.air
174594 User Aircraft ID 2 supplied, now being used
175094 System time = 30/12/2016 16:45:34, Simulator time = 08:00:00 (15:00Z)
175094 Aircraft="Cessna Skyhawk 172SP Paint1"
181110 Starting everything now ...
181110 LUA.0: beginning "D:\GAMES\Other Installed Games\Prepar3D v3\Modules\ipcReady.lua"
181110 LUA.0: ended "D:\GAMES\Other Installed Games\Prepar3D v3\Modules\ipcReady.lua"
181141 LUA.1: *************************** STARTING LINDA **************************
181141 LUA.1: LINDA:: [START] Loading System Configuration files
181141 LUA.1: LINDA:: [START] WARNING - All LUA logging switched off !!!
181141 LUA.1: LINDA:: [START] Go to Setup LINDA to switch on (if required)
181157 LUA.1: LINDA:: *********************************************************************
181157 ASN active function link set
181157 Ready for ASN WX radar
181172 LUA.1: LINDA:: [START] System Configuration files loaded
186594 Weather Mode now = Theme
191547 Advanced Weather Interface Enabled
328094 === Calling SimConnect_Close ...
328297 === SimConnect_Close done!
329297 System time = 30/12/2016 16:48:08, Simulator time = 08:00:22 (15:00Z)
329297 *** FSUIPC log file being closed
Minimum frame rate was 11.8 fps, Maximum was 30.0 fps
Minimum available memory recorded was 1601Mb
Average frame rate for running time of 41 secs = 24.7 fps
Maximum AI traffic for session was 0 aircraft
Memory managed: 78 Allocs, 74 Freed
********* FSUIPC Log file closed ***********