In sale.order.line esiste gia' l'oggetto product.product con il nome product_id. Sinceramente non ho mai usato la personalizzazione via web ma se dovessi farlo via modulo basterebbe un related, ti conviene procedere in questo modo.
Per quanto riguarda i moduli, in realtà non è la sola perdita delle modifiche, in molti casi evitabile, ma la portabilità delle stesse tra ambienti diversi. Sviluppi (db dev) passi in test (stage) e poi in produzione, se fai le modifiche via web dovrai rifarle su ogni db a meno di non fare le copie ma non sempre è possibile.
E poi, almeno per me, è molto piu' semplice procedere via modulo che star li a pasticciare con l'interfaccia web.