My keyboard just takes in the sustain signal, and transmits it to the computer where I believe ACT handles it. Is there a way to change the values being outputted? If it's not quite getting to 127, that would actually explain everything, ie Sonar detects it but doesn't consider it a sustain.
There are a couple of misunderstandings in that statement. First, the sustain pedal doesn't send CC64 it's just an on/off switch (with some exceptions that I don't think we need to be concerned with in this case). The keyboard reads the circuit status (open or closed), and generates appropriate CC64 message when it changes. It's very unlikely that the keyboard would generate anything other than 0 or 127, and as I said, regardless of the value, SONAR should be able to record it.
And finally, SONAR doesn't interpret controller messages; it just sends them to the synth, and the synth responds however it's been programmed.
I'm beginning to wonder if maybe you just have the pedal plugged in to the sostenuto input on the keyboard, which would generate CC66 instead of CC64. I would think most synths should respond to that as well (sustaining only notes already played), but maybe not.
When you said you were using CC64 for remote control, did you specifically program something to respond to CC64, or did you use MIDI learn, which could have learned something other than CC64?