I'm having pretty much the same problem as the OP.
I tried flashing a custom ROM (AOKP, if I recall correctly), but I didn't realize until after it was done that it is designed to be run with Safestrap (dumb of me, I know). So, I flashed back to 246 using moto-fastboot, installed Bionic Boostrap and restored my nandroid backup. My docks were mostly not working (more details below). I assumed I had a bad flash, so I reflashed 246 with moto-fastboot again, assuming that would fix the problem. Of course, then I got antsy and installed the JB update that leaked out yesterday without testing the docks first. Now my docks still won't work and I think trying to flash back to 246 using moto-fastboot again is a bad idea.
Both before and after reflashing, I tried force stop/clear data/clear cache on all of the dock-related services.
My Lapdock, HD Dock, Standard Dock, and Navigation Dock all will not fully work. They will all charge the phone, but the phone doesn't go into dock mode nor do I get audio through the dock's audio connectors. I get a little bit more love from the HD Dock and Lapdock. On the HD Dock, the USB ports and remote control function, but the phone won't go into "dock mode". For the most part, the Lapdock works as well, but it won't display the dock's battery status nor does the phone seem to realize it's in the dock and not just connected to the TV with an HDMI cable.
If I am connected with adb, and put the phone into the HD Dock, I see the following from dmesg:
It seems that in the case of the HD Dock, the phone detects the dock devices, but I don't see the same thing from the standard or navigation docks. With the navigation dock and only seeing the following:
<6>[11003.122406,1] cpcap spi1.0: notify_accy: accy=USB DEVICE
<6>[11003.133880,1] SW:CPCAP_ACCY_USB_DEVICE Connected
<7>[11003.345489,1] musb-hdrc: setup fifo_mode 4
<7>[11003.345642,1] musb-hdrc: 17/31 max ep, 13632/16384 memory
<6>[11003.361236,1] EVENT_NONE: host mode, stop musb
<7>[11003.361358,1] musb-hdrc: setup fifo_mode 4
<7>[11003.361572,1] musb-hdrc: 28/31 max ep, 15424/16384 memory
<6>[11003.361694,1] EVENT_NONE: pull down, disable gadget
<6>[11003.361877,1] EVENT_NONE: pull up, enable gadget anyway
<7>[11003.587646,1] musb-hdrc: setup fifo_mode 4
<7>[11003.587799,1] musb-hdrc: 17/31 max ep, 13632/16384 memory
<6>[11004.017395,1] usb 3-1: new high speed USB device number 4 using musb-hdrc
<3>[11004.166290,0] usb 3-1: device v22b8 p0939 is not supported
<6>[11004.166534,0] usb 3-1: New USB device found, idVendor=22b8, idProduct=0939
<6>[11004.166778,0] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>[11004.166900,0] usb 3-1: Product: Motorola HD Dock
<6>[11004.167114,0] usb 3-1: Manufacturer: Motorola Inc.
<6>[11004.167236,0] usb 3-1: SerialNumber: 22E16C22
<6>[11004.169799,0] hub 3-1:1.0: USB hub found
<6>[11004.170257,0] hub 3-1:1.0: 4 ports detected
<6>[11004.454895,0] usb 3-1.1: new full speed USB device number 5 using musb-hdrc
<3>[11004.565826,0] usb 3-1.1: device v22b8 p0938 is not supported
<6>[11004.565917,0] usb 3-1.1: New USB device found, idVendor=22b8, idProduct=0938
<6>[11004.566070,0] usb 3-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>[11004.566223,0] usb 3-1.1: Product: Motorola HD Dock
<6>[11004.566314,0] usb 3-1.1: Manufacturer: Motorola Mobility
<6>[11004.566375,0] usb 3-1.1: SerialNumber: 86C192461C001D00
<6>[11004.571075,0] input: Motorola Mobility Motorola HD Dock as /devices/platform/omap/musb-omap2430/musb-hdrc/usb3/3-1/3-1.1/3-1.1:1.0/input/input7
<6>[11004.572204,0] using input dev Motorola Mobility Motorola HD Dock for key reset
<6>[11004.572357,0] keychord: using input dev Motorola Mobility Motorola HD Dock for fevent
<6>[11004.572998,0] motorola 0003:22B8:0938.0002: input,hidraw0: USB HID v1.01 Keyboard [Motorola Mobility Motorola HD Dock] on usb-musb-hdrc-1.1/input0
I'm guessing there's some disconnect with the USB port on the phone. The HDMI port seems okay. I'd also assume that it's some sort of software issue as well since it started after my ROM flashing attempt. I know the docks are all okay because I have an identical work Bionic that I've kept totally stock and unrooted. All of the docks work fine with the work phone, so the docks should be fine. Beyond examining dmesg, I'm not sure what to do next to troubleshoot. When I saw the dmesg output when connecting the HD Dock, I assumed that the kernel was detecting the docks, but my test with the navigation dock refuted that.
<6>[21974.348724,0] cpcap spi1.0: notify_accy: accy=NONE
<6>[21992.228668,0] cpcap spi1.0: notify_accy: accy=CHARGER
Anyone have any ideas of what I can look for next?