Llegué aquí tratando de solucionar una situación similar por lo que me parece que este tipo de problema sigue apareciendo.
En mi caso, evitar cualquier transformación del optimizador funcionó.
Apliqué una sugerencia NO_QUERY_TRANSFORMATION al "intoed" instrucción SELECT y el error desapareció.
En el caso de esta pregunta, debería reescribirla como:
INSERT INTO MasterRecords
(BatchRecordRecordID, SourceID, BatchID)
SELECT /*+NO_QUERY_TRANSFORMATION*/ RecordID, SourceID, BatchID
FROM (
SELECT RecordID, BatchID, 101 AS SourceID
FROM BatchRecords
WHERE BatchID = 150
GROUP BY RecordID, BatchID
) BR