Thanks for your reply Vladsisld, yes recreating the old order to cancel it sounds like a bit of a step too far for me.
Yes I have had to build out the position and order management completely separately. I am fortunate that the strategy is fairly simple and runs once a day, this may not be possible for more active traders, so I place orders in to enter positions good for the day that way if they are filled it is in my position and if not filled the strategy won't double up the entry order the following day. I therefore am able to utilise a separate script outside of backtrader to check my positions and orders and update them as needed. I have that script on a schedule running every few hours during trading days.
There are other changes to the orders I make, backtrader allows me to place only certain types of orders, so my order management script checks all my working orders each time it runs and updates the bracket orders to allow trailing stops and eventually to utilise the IB algos etc, it also checks the positions and makes sure I have the right amount of orders for each position. its not ideal to run that order management separately but it seems to be working for me for now.
I do like using backtrader, it has been an excellent tool and a great way to learn python over the last year or so, I am sure my code is terrible but the simplicity of the platform has allowed me to build a working Algo so thank you to everyone who contributed to it.