Ok, here is another issue I've hit, it's in the OWS sos100.py, but I'm documenting it here.
in get_observation, the parameters are encoded via: data = urlencode(request)
ncSOS apparently does not like this and returns an exception.
I replaced the above with:
data = ''
for param in request:
if(len(data)):
data += '&'
data += "%s=%s" % (param, request[param])
That seemed to work, but I've hit the PyOOS typo bug Dave was talking about: NameError: name 'DataReocrd' is not defined