You can tell dnetc to start as many threads as you want, and it will regardless of if you have the processors for them or not. If not, they'll all just run on the same processor.
I guess depending on the version of top, it could be telling you the load based on both processors. The problem is, for every process or thread you start for dnetc, it increases your load average by 1.00, so uptime-style load averages won't help here (I've intentionally pushed my load average to over 1024 this way. It rolls over at 1024 🙂)
I don't really have much experience in this area, never had a problem like this myself. Still sounds like a kernel issue to me, but beyond that I'm out of suggestions :/
<< You should see two instances of dnetc running, if you are for sure running a SMP kernel. >>
You can get this effect on a non-SMP kernel too. It's not going to be a sure-fire indicator.
Are you letting dnetc autodetect SMP or are you manually specifying the number of threads to run?