You need device discovery in order to pair with another bluetooth device, but you needn't necessarily implement discoverability on your device (your device could have it initiate pairing with another discoverable device) unless you're actually trying to get it certified with the BT logo.
OBEX is for object (ie, file) transfers. RFCOMM drives a COM port, so your code needn't even know that bluetooth is involved.
I'm not sure if there's a difference between OBEX and OBEX Serial, but if there is then there's probably some reason why RFCOMM is better suited for your application -- since you already have a serial wired COM port.
[edit] If you buy BT hardware designed for beginners, it should come with driver code and at least an RFCOM profile in C.