Have you tried forcing the config, what i mean by this is setting it up correct initially for each graphic output device then backing up your DisplaySettings.xml and Settings.xml to a folder for each of your settings.
I have one for primary , one for secondary TV display and one for the rift, then use a standard bat file to copy the settings over before launching the game.
i.e
Rem Rift batch file
copy /y "D:\scripts\Rift\DisplaySettings.xml" "C:\Users\edguy\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\DisplaySettings.xml"
copy /y "D:\scripts\Rift\Settings.xml" "C:\Users\edguy\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\Settings.xml"
Rem secondary batch file
copy /y "D:\scripts\secondary\DisplaySettings.xml" "C:\Users\edguy\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\DisplaySettings.xml"
copy /y "D:\scripts\secondary\Settings.xml" "C:\Users\edguy\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\Settings.xml"
Rifts settings.xml
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsOptions>
<Version>1</Version>
<PresetName>Custom</PresetName>
<StereoscopicMode>3</StereoscopicMode>
<IPDAmount>0.042972</IPDAmount>
<AMDCrashFix>false</AMDCrashFix>
<FOV>54.146061</FOV>
<HighResScreenCapAntiAlias>3</HighResScreenCapAntiAlias>
<HighResScreenCapScale>4</HighResScreenCapScale>
</GraphicsOptions>
Rifts displaysettings.xml
<?xml version="1.0" encoding="UTF-8" ?>
<DisplayConfig>
<ScreenWidth>1920</ScreenWidth>
<ScreenHeight>1080</ScreenHeight>
<VSync>true</VSync>
<FullScreen>true</FullScreen>
<PresentInterval>1</PresentInterval>
<Adapter>0</Adapter>
<Monitor>1</Monitor>
<DX11_RefreshRateNumerator>74999</DX11_RefreshRateNumerator>
<DX11_RefreshRateDenominator>1000</DX11_RefreshRateDenominator>
</DisplayConfig>
Secondary settings.xml
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsOptions>
<Version>1</Version>
<PresetName>Custom</PresetName>
<StereoscopicMode>0</StereoscopicMode>
<IPDAmount>0.042972</IPDAmount>
<AMDCrashFix>false</AMDCrashFix>
<FOV>54.146061</FOV>
<HighResScreenCapAntiAlias>3</HighResScreenCapAntiAlias>
<HighResScreenCapScale>4</HighResScreenCapScale>
</GraphicsOptions>
Secondary displaysettings.xml
<?xml version="1.0" encoding="UTF-8" ?>
<DisplayConfig>
<ScreenWidth>1920</ScreenWidth>
<ScreenHeight>1080</ScreenHeight>
<VSync>true</VSync>
<FullScreen>true</FullScreen>
<PresentInterval>1</PresentInterval>
<Adapter>0</Adapter>
<Monitor>1</Monitor>
<DX11_RefreshRateNumerator>59998</DX11_RefreshRateNumerator>
<DX11_RefreshRateDenominator>1000</DX11_RefreshRateDenominator>
</DisplayConfig>
Yeah, I had a sneaking suspicion that it had problems with multiple display setups, so I did try to simply remove the TV HDMI cable once. Still nogo. Then I also tried to move the OR HDMI to the first card as well (so the monitor and the rift are both on the first card, no TV connected), and still nothing. When I start the game like that I only get Primary display. When I have the TV connected (even if it's on the second card) it shows up as secondary (when extended, and not cloned), but the OR just won't show up ingame.
Should say that it's only ingame I have this issue. In the control panel, there's no problem at all. Just ED selection for what display to use.