versionedAppDir ignores projectVersion from DynFlags
versionedAppDir uses the constant cProjectVersion rather than (projectVersion dflags).
versionedAppDir was introduced after GHC 7.10 RC1 and I unfortunately didn't catch this before the release. This changes the location of the user package DB, which is now inconsistent between Cabal and GHCJS, making the user pkg db unusable when GHC has been compiled with 7.10.1
Symlinking the user package db directory is a workaround, but it's only a partial solution since multiple GHCJS versions on the same GHC will clash.