I think Logic sometimes calls the AU's reset() method instead of note-off, depending on how you are moving the playhead.
Just override AUAudioUnit.reset() and reset the state of your AU (including releasing any held notes).
Topic:
Media Technologies
SubTopic:
Audio
Tags: