As far as I know, that's how Andrew Tridgell and friends reverse-engineered the SMB protocol for Samba. They might have (some) docs now, but they didn't in the early days.
Disassembled code is still damn hard to read, and although there's a possibility you might miss subtleties, you're going to get started much faster by intercepting the data stream, assuming no measures have been taken to make your job harder. (e.g. encryption) If you can't figure out aspects of it, you can always try to hunt for them in the disassembly, but at least it gives you some direction,
I started reverse-engineering the USB datastream for a wireless USB Skype phone I was given as a present. (Philips Voip321) Unfortunately, it seemed to do some stuff that wasn't possible in libusb, so I needed to drop a level to usbfs, at which point I figured there were probably more productive ways to spend my time and have just been running Skype in a VirtualBox VM on my file server. I'd still love to get that working someday, but there's a stronger incentive for working on stuff that will ensure I get fed the next month. ;)