When I restart xmonad with a M-q command my xmobar disappears. There's an xmobar process running and it's not obviously blocked. (strace shows it doing things, including recvfrom and writev both with non-zero positive return codes).
Given that you're using the Ubuntu Gnome/Xmonad session, it's trapped under the nautilus desktop window. You probably want to set "lowerOnStart = False" in ~/.xmobarrc. If this isn't sufficient and you need to actively raise it, something like this in the ManageHook might work:
appName =? "xmobar" --> liftX . withDisplay . (io .) . flip raiseWindow =<< ask
--