"Bad" condition numbers are usually associated with trying to take inverses of nearly singular matrices. So I would check the parameter correlation matrix for entries that are very close to +1 or -1 as an initial diagnostic. If none of the off-diagonal correlations are near +1 or -1, then there is most likely some other issue causing the trouble.
There is probably some very nice function in umarked to obtain the parameter correlation matrix but here is a brute force approach (assuming the the occu results are in fm):
covmat <- fm@opt$hessian
cormat <- covmat
for (i in 1:dim(covmat)[1]) {
for (j in i:dim(covmat)[1]) {
if (i==j) {
cormat[i, i] <- 1
} else {
cormat[i, j] <- covmat[i, j]/sqrt(covmat[i,i]*covmat[j,j])
cormat[j, i] <- cormat[i, j]
}
}}
cormat
Jim