This is correct behaviour. dbFindProp only deals with db property objects. When CDF is being used, the default values are not (normally) stored on the instance, and so there is no property object to find.
One way to handle this is to use cdfGetInstCDF (as you have) and then replace the line:
propId = cdf1~>prop
propId = get(cdf1 prop)
I didn't test the code, but I think it should all work with that change