BOL states that OpenRowSet can be used as a Target in the merge but appears to be ambiguous as to whether it can be a source.
Have you tried loading the data from the openrowset into a temp table then use that as the merge, another alternative could be to use a CTE to do the OpenRowSet load, but It may cause a bottleneck.
_________________________________________________________________________
SSC Guide to Posting and Best Practices