I checked the sources (in the GIT version of Allegro) of the acodec and audio plugins more, and from what I see
1) al_load_audio_stream DOES call al_flcose on the file it opens itself.
2) However, al_load_audio_stream_f does NOT call al_flcose on the file you pass to it.
3) However however, al_destroy_audio_stream should close that file for you, since it calls al_fclose.
So I'd think that you have to call al_close_audio_stream on the stream pointer, and then the file will also be deallocated. I don't know what will happen with the memfile's own buffer, though, but I suppose it will be unaffected.