If you're still out there I may have found a workaround for you. Try adding a no-op select statement to "declare" metadata to the pipeline.
Credit here:
http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/ee686cf8-0880-4a1d-8706-ba72fbb2eba8/%5B/url%5D
I just ran into the issue where resultset metadata was not retrieved when trying to call a certain stored proc in SSIS using an OLE DB data source. Your linked server is also using an OLE DB provider so the same technique may apply.
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato