Hello Phill Hodgkinson,
The reason we are using the technique with different row for every property is to preserve the ASP.NET default functionality. However, it is true that a fixed table with column for every property would be much more efficient.
Thank you for sharing your experience with us. Probably, you'll easily set the profile provider with Sitefinity, but if you have any troubles, I'll be happy to help.
All the best,
the Telerik team