Assuming the solenoid is OK...
In order for it to switch over at the correct rpm (not even sure what that is on your year D16, on a D16z6 it's 4800rpm at WOT) it needs to be up to temp. (and for the ECU to know that via the sensor/sending unit), the manifold pressure has to be high enough (how it knows you're at WOT or close to it) and you need to be going fast enough, but I believe that's just 5mph for the cars with manual trans.
If for some reason your speed sensor wasn't working (no reading on gauge), or the MAP sensor wasn't getting the correct readings, or the water temp. wasn't high enough (around 160 I believe) or wasn't being registered as high enough to the ECU (at least not until you've floored it and gotten the revs up, see what I'm thinking...), those could all be potential causes.
Not a mechanic, just brainstorming.