The only way to guarantee that the property is set, is exactly what was previously suggested: Throw an exception at runtime (and yes, PreRender is a great place to do that).
One way to help guide users who are using your control is to use the ASP.net 2.0 / VS2005 feature called Smart Tasks. It's a great way to place common and/or important tasks right near your control so that the user won't be searching through the property grid to find two or three important properties out of 50. Here's a sample that I wrote recently:
http://www.leftslipper.com/ShowFaq.aspx?FaqId=7Thanks,
Eilon
Blog: http://weblogs.asp.net/LeftSlipper/