As we can see from the above posted query SQL your query is only passing one column PMonth. The fields Month([period]) and Year([PERIOD]) are not being forwarded in this query. For the DLookup to work they must be passed forward so that we may use them to select a record. This is why the DLookUp had no chance of working.
SELECT Sum(QryCostofsales2.SumOfSumOfMTD) AS PMonth, Month([PERIOD]) as PeriodMonth, Year([PERIOD]) as PeriodYear
FROM QryCostofsales2
WHERE (((Month([PERIOD]))=([Forms]![Premier]![cbmonth])) AND ((Year([PERIOD]))=([Forms]![Premier]![cbyear])-1));
Use the above SQL with the updated Red code as the SQL for your query QryPriorMonthcostofsales.
Now use the following DLookup and see if this works:
=DLookUp("[PMonth]","QryPriorMonthcostofsales","[PeriodMonth] =" & CInt(Forms!Premier!cbMonth) & "and [PeriodYear] =" & CInt(Forms!Premier!cbYear))
Bob Scriver