wpsc-admin/includes/product-functions.php line 811 uses insert_post:
$id = wp_insert_post($attachment, $file, $product_id)
but function is:
function wp_insert_post($postarr, $wp_error = false)
This should clearly be using this:
function wp_insert_attachment($object, $file = false, $parent = 0)
Applies to types wpsc-product-file and wpsc-preview-file.