I was out practicing approaches for currency with a safety pilot last month, and was going to shoot two approaches: an ILS with vectors and a VOR approach with several laps about the published hold. After being cleared for the VOR approach, I asked the approach controller if it was alright if I did a few laps around the hold (more like reminded; stated intentions well beforehand), and was cleared to do so, and to announce procedure turn inbound. After a few laps, I called out "Procedure turn inbound." I was expecting to hear the approach clearance again, but only got a "roger." Since I didn't hear the clearance before crossing the VOR/IAF, I went around for another circuit, only to hear ATC go on about me and wondering what the heck I was doing. I explained the plight, and he said that I was cleared for the approach already (15 minutes ago), then recleared me and I was on my way to impress my right seat warmer/plane spotter with a greaser.
So who was right? Me, assuming the holding clearance voided the approach clearance, continuing the hold when an approach clearance wasn't issued, or the approach controller, that an approach clearance isn't voided with a holding clearance regardless of how long it has been.