I have manageHooks in place; in this case, the manageHook is for terminal to be on workspace B and firefox on workspace A and somehow the terminal gets pulled into workspace B. Note that this doesn't only happen with windows with manageHooks but any active window.
To reproduce this, create a request to make a window in a time-delayed fashion, best way is to start firefox download for a busy site (or just enough for you to move to other workspace).
But I tend to do this somewhat regularly, and don't see this.
EXCEPT: if I'm using xcompmgr, which seems to get confused in this and similar cases. (If you use a compositing manager, it draws and positions all actual windows; an application "window" exists but is never mapped. Compositing in X is rather hacky.) Are you using xcompmgr, by any chance?
I have heard that compton fixes this issue with xcompmgr, but have not been able to verify.
--