Re: separate compilation -- I can attest that it's possible.
I already had the "magic" library part working (srfi 206 *).
I finished support for define-auxiliary-keyword today and it works with separate compilation.
My scheme's expander is syntax-case-style.
I added Chez's ALIAS keyword to my internals to help with this.
I had to special case aliases in my compiled-library representation -- to include the possibility that the binding for an alias might have to be looked up through an environment specification that wasn't part of the library's imports to begin with.