8
JavaScript (ES6) 164 (unhexquadium) 171
The capitalization is the tricky part. (Test in FireFox)
Edit 3 bytes saved thx user2786485
f=n=>[([...n+(l='')].map(c=>(c='nil,un,bi,tri,quad,pent,hex,sept,oct,enn'.split`,`[c],n=l?n+c[0]:c[0].toUpperCase(),l+=c)),l+'ium').replace(/i(i)|n(nn)/g,'$1$...