I have a custom module audio_product that overloads and ties together components of a audio node and a ubercart product node. The nid that gets passed around is therefore associated with an audio_product type and in the audio.module:_audio_allow_download() there is a check that fails:

if ($node->type == 'audio' && isset($node->url_play))

I am not sure why this addition was added in the 6.x branch, but I have had to comment out this if statement to get it to work with my module.