An easier way than making a db of sections Dave would be to have the user create their custom shapes' polyline while they are in the wcs with the correct orientation before extrusion or they could create a block lib of the polyline shape you could easily write a routine for them to produce the solids from adding the data on the fly.
This would enable the end user to have a library of 'any' profile possible and you can attach the data at creation time.
I do remember one drawback with xdata though, if you slice an object and 'keep both sides', only one side gets to keep the data! This could be overcome easily though, I used to have some modeling tools that were very handy and a lot quicker than using acad commands for most modeling (drilling and cutting at lines etc).
I've attached an arx and a picky to play with, works in 2006 but as it's win32 in should work in nearly any version, I'll leave it there for a day or two.
Usual warnings apply! It is still in beta.