you can get a new door gasket. Runs for about $100(i got it for that price at the dealer over a year ago...so it may be cheaper.)
also check your sunroof...cause it may be leaking into that area and then leaking down through your headliner?
just an idea?
I know on my e30 the rain came in the drivers side in the top corner of the door, I replaced the gasket and all was good.
__________________
We all get the urge...Saturday early morning...nothing to do till noon...

BMW FTW

The aural sensations of 1st gear WOT
**CGM **(Certified Garage Mechanic)