The "The stored procedure executed successfully but did not return records" message will usually display when using a Stored Proc that uses Temp tables that use SELECT * INTO #TempTable FROM dbo.Table. To get around this problem you MUST use SET NOCOUNT ON as show below.
AS
SET
NOCOUNT ON
Without that, either ADO or DAO will see the rowcount returned from the first select, and think the procedure has completed before a result is ready.