Reading all quotes and dropping all but one seems wasteful. I would use Linq2Sql capabilities to retrieve a single item, like this:
First, I would query the number of quotes using Count(). Then, I would generate a random integer R between 0 and Count()-1, inclusive. Finally, I would use Link2Sql to get R-th quote, like this:
var quote = new HsInternetDBDataContext()
.Quotes
.OrderBy(q => q.DateCreated)
.Skip(R)
.Take(1)
.Single();
Good luck!