I've just made a number of small changes to my version of this module (and uc_free_order and uc_paypal) to allow subscriptions with a free first year.

But one thing I did notice on my travels was that the IPN txn_id in the uc_payment_paypal_ipn table was always blank for a WPP recurring payment.

Change uc_recurring_hosted.module

db_query("INSERT INTO {uc_payment_paypal_ipn} (order_id, txn_id, txn_type, mc_gross, status, receiver_email, payer_email, received) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', %d)",
      $order->order_id, $nvp_response['TRANSACTIONID'], 'web_accept', $amount, 'Completed', '', $order->primary_email, time());

to:

db_query("INSERT INTO {uc_payment_paypal_ipn} (order_id, txn_id, txn_type, mc_gross, status, receiver_email, payer_email, received) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', %d)",
      $order->order_id, $nvp_response['PROFILEID'], 'web_accept', $amount, 'Completed', '', $order->primary_email, time());

I think the WPS code does something similar.