Good. It might in any case be helpful for others (and even for a small correction/improvement) if you share the details in case there is a workaround/solution for an issue. But the important thing is always to get it working.
Is it possible to get bid/ask lines in an Oanda datasource, similarly to what you've described in your "Escape from OHLC land" post? That would also solve the spread problem because that way calculating the spread would be super easy.
As I can see there is an option ("bidask") that controls what is retrieved from Oanda, so I believe it is already partially implemented.
Would it be possible to add the bid/ask lines to the data if the timeframe is set to bt.TimeFrame.Ticks?
The code is usually run against an old 1.5.0rc3. The situation that arises with a downgrade is that many other packages should also be downgraded to achieve the actual status that version had at that time. This was seen with pyfolio, which has changed the API. Version 0.5.1 had a compatible API, but that version had also expectations about the surrounding ecosystem ... hence the problem of downgrading.
Note that you will likely need to do some tweaks to account for the differences between live and backtesting but nothing major. Also note not everything that you can do in backtesting may be available for the live broker. It depends on their API.