Hello Kea,
There could be any number of reasons including:
1 - If the rate table has two different rates at two different effective dates, and the transactions have different transaction dates, then the two transactions could use different rates
2 - If the rate table is built in such a way that it keys off fields that are different between the two transactions (such as labor class, account category, employee, task, etc...)
3 - If the transaction is being pooled and allocated on multiple steps of your allocation method
Very hard to say for sure without knowing your exact setup.
Thanks