You are right, Marketo doesn't handle one to many relationships. So as per default you will only receive the most recent 'course', because Marketo is updating/overwriting this field in the db each time the data gets updated.
In your specific case it looks like the best would be to find a way how to flatten up the data coming from NetSuite and then importing it into Marketo based on your needs. That's a custom job that would require more specific research. The first approach that comes to mind is doing this by creating custom fields for each training and with values false/true to identify if a lead or record attend a specific training. A downside of this is that you'll end up with hundreds of custom fields if you have many different courses.