I've got a similar problem with a key difference.
I currently have TWO databases mirrored, same primary, same mirror same witness.
One shows fully connected and synchronized in mirroring monitor
The other shows the witness connected to the primary but disconnected from the secondary. both databases synchronized. If I use the
select * from sys.database_mirroring
I get similar results. running it from the primary shows the witness connected for both databases. Running it from the mirror show connected for one, disconnected for the other.
...
-- FORTRAN manual for Xerox Computers --