Hi Neil,
You could eventually develop custom user control or web part to allow user to enter data into custom table. Then you can use e.g. repeater with custom query to display data from it. You can also use repeater with custom query to display data from BizForms (so you can enter data using BizForms).
You could also ensure this using
User contributions module - you can create custom document types with the fields you need and then user can add new documents (records) and display or even modify them anytime later.
Best Regards,
Martin Dobsicek