A terceira linha é o problema. Veja sua saída do logcat e as fontes do Android (pesquise nas fontes por "solicitando o nome da coluna com o nome da tabela"). Agora dê uma olhada na sua saída do logcat. A linha com esta frase contém o nome da coluna que você está solicitando:
/mnt/sdcard/googleCheckout/Saxo Trader.apk
. Este valor vem do seu cursor de resultado. Claro que seu db não contém esta coluna :-) Substitua as linhas
String url = c.getString(c.getColumnIndex(c.getString(0)));
String code = c.getString(c.getColumnIndex(c.getString(1)));
com
String url = c.getString(c.getColumnIndex("reco_index_user_action_download_file"));
String code = c.getString(c.getColumnIndex("reco_index_content_code"));
Também sugiro puxar o código para obter os índices de dentro do loop para fora do loop. Não há necessidade de pedir os índices repetidamente.