Without the attached patch, I believe the use of a function for output translations is hosed from post asdf-3.0.2 onwards.
I think ABCL is the only implementation actively using the ability to specify an output translation as a function, as indeed Faré expressly introduced this for us. ABCL uses a specialized output translation to translate the location of FASLs for ASDF systems stored in jar files (like ABCL’s contribs) which can’t otherwise be expressed in the translation DSL.
I have [committed an asdf-3.0.3.0.1 including this patch][r14583] to ABCL trunk, which I will sync in the near future to ASDF master if this is indeed the correct way to patch the problem.
[r14583]: http://abcl.org/trac/changeset/14583