If the field Order_Num_BWC is already a text field you don't need the Cstr() function.
If you look at the datasheet output of your first query as it is, do the converted ConvertedOrderID values line up left or right in the column?
(This query)
SELECT BWC_MasterFile.Order_Num_BWC, CStr(Right([Order_Num_BWC],Len([Order_Num_BWC])-InStr([Order_Num_BWC],"-"))) AS ConvertedOrderID, Right([Order_Num_BWC],Len([Order_Num_BWC])-InStr([Order_Num_BWC],"-")) AS ConvertedOrderID2, BWC_MasterFile.Product, BWC_MasterFile.Shipping, BWC_MasterFile.ShippingType, BWC_MasterFile.Total, BWC_MasterFile.InvoiceDate
FROM BWC_MasterFile;
Your query is assuming that every Order_Num_BWC value will have a "-" in it, and your formula will fail if any values don't have a hyphen in them. Visually check the output of that query to see if it has any #error values in the column. You definitely won't be able to join on an expression that evaluates to #error, even if it is only #error on one line of the result set of the first query.