When you execute a trade, there will be a small amount of time between the estimate that you receive, the trade being executed in the market and the currency being exchanged to USD. This accounts for differences in the number of shares you may receive. Consider a scenario where you attempt to buy £50 worth of shares. As the trade itself is executed a briefly before the FX conversion takes place, there's scope for a slight movement in the cost of your trade - positively or negatively dependent on which way the FX rate has fluctuated.
In short, we receive confirmation that the trade has executed and, based on the price achieved, convert the currency. Because there’s a brief period of time between the two, the FX rate moves slightly, resulting in a difference.
If we were to do it the other way and convert the currency first and execute the trade second; if the trade failed to be filled for any reason we’d be left with some dollars we’d need to convert back to sterling, which would result in money lost.
Any residual cash not used towards your purchase will be returned to your available to invest balance. If you choose to use all of your available cash balance to purchase fractional shares, there is a small chance you may go overdrawn due to FX fluctuations, although we have buffers in place to reduce the risk of this happening.