It occurred to me to check the versions of files being used for each provider, and hunting through the registry, found that under a clean Windows 8 install, with Office 2013 installed, both providers point to the same assembly.
(C:\Program Files\Common Files\microsoft shared\OFFICE15\ACEOLEDB.DLL)
I then downloaded and ran the Microsoft Access Database Engine Redistributable (http://www.microsoft.com/en-us/download/details.aspx?id=13255) which then installed the proper version of the 12.0 provider into C:\Program Files\Common Files\microsoft shared\OFFICE14\ACEOLEDB.DLL and the application is behaving itself as expected.
It would seem strange that MS have included a provider branded as 12.0 that doesn't behave like 12.0 any more.
Anyway - hope that helps someone from 4-5 hours of hair pulling...
Craig