I am not that familiar with midi (reading this
http://www.u-he.com/vstsource/files/midiCtrl.h probably increased the knowledge I have of of it about 1000 times, can I assume your app is similar to this?).
The DS is set to poll the touchscreen at a certain frequency (2MHz as I understand it which is faster than anything a human can do as far as touching and releasing the screen is concerned), you said you are using PaLib in the release/discussion thread which is a fine library but for me it is the equivalent of Chinese whispers as far as low level coding is concerned. Therefore gbatek specs for the touchscreen:
http://nocash.emubase.de/gbatek.htm#dstouc...encontrollertsc , for something so dependent on the touchscreen it may be worthwhile writing your own I/O routine (assuming it is just for this you effectively only have to read on value (not quite that simple as that as it should require messing with the SPI bus) and see what it is (FFF hex when reading the "Y" position is unreleased, GBATek explains all though).
I am not sure what language you are using there and I am a bit too busy to write and debug some ASM (not to mention make it compatible with what you have, nothing personal I just have a lot on right now).
My personal suggestion for a quick fix is to read the value and write it to a a position in the memory at every poll (or every few if it hits performance as much as I think it might: rough guess says 20 times a second (20Hz) is the realistic limit for audio but you might want to up that a bit just in case.
Now when the screen is read compare the current value to the one in the position you assigned (the nice thing about it being (0)FFF for released with all else below it is you can use a simple less than to compare).
Now you can play "when unreleased" as it will only send on the occasion that the memory location and the current read say what you need.
Edit: I did see your second reply, you may wish to ignore me until I revise my post.