I agree that this should work as-is, but maybe the issue with link tracking is interfering, or maybe it's just a matter of timing. Sometimes it seems like information takes time to propagate within Eloqua, I think there are separate subsystems that talk to each other on a schedule or something like that - anyway, it may be that the information submitted on the form hasn't completely propagated by the time the prospect hits the landing page... just a theory, I don't really know what's happening in your case.
However, in any case, if I were trying to do this and I was unable to make field merges work, I would fall back on using Data Lookups and JavaScript - create a data lookup with the fields you need, generate the associated scripts, and use them to fill in the prospect data after the page loads.