Not sure how you're getting this error:
public function execute()
{
$this->runUntilTimeout( function()
{
$sql = \IPS\Db::i()->select( '*', 'paytopintopics_topics', array( "pinned=1 AND ptpt_status=? AND ptpt_limit<?", 'pinned', time() ), 'tid DESC', 25 )->join( 'forums_topics', 'paytopintopics_topics.ptpt_topic_id=forums_topics.tid' );
if ( !$sql->count() )
{
return FALSE;
}
There's only one ptpt_status column in the app and it's not duplicated in the query, etc.
You probably still have these columns in your topics table from the old plugin; it should have been dropped. Make sure you don't have them in forums_topics table. If you have, drop them. Let me know if you need help to check and drop the columns.