Hi Jochem. Thanks for making me take a deeper look. I would have loved to have been able to override OrdersManager within a custom OrdersModule, but that didn't work for me like I'd hoped and I'll have to wait to figure out what may have gone wrong, or if it's even possible, until another day. What I did end up doing is creating an intermediary page between the product description page and the checkout page with the sole job or removing everything but the most recently added item from the cart. Here is the code I used in my custom control.
//This is a workaround to limit users to 1 course registration until SF checkout page improves
OrdersManager ordersManager = new OrdersManager();
CartDetail product = ordersManager.GetCartDetails().OrderByDescending(x => x.CreatedDate).FirstOrDefault();
foreach(CartDetail detail in ordersManager.GetCartDetails())
if(detail.Id != product.Id)
course.Quantity = 1;