Servontius - I was about to ask the very same question. Thanks for gathering the questions for me :)
I was wondering if there isn't a way to get the Alpha value on a given point on the sprite. (Something like Sprite.Alpha_At(X,Y))
Another approach may relay on the difference between the RGB values when the sprite is visible/invisible. This may be used to store the alpha data into an array and recreate the "walls" with a 1*1 sprite.(Something like RGB_At(X,Y))
Is it possible to access any of this data?