This weird behaviour appears to have been caused by a version of BeyondTrust, and eventually fixed itself, presumably when a later version of BeyondTrust was updated.
The behaviour (of changing the changing the current drive) was not limited to SQL*Plus, but also happened in other shell-like environments (even CMD - opening a command prompt window would bring you back to C:\Windows)