Nepoužívejte fetchall() (který vrací seznam, který nikdy není 'větší než 0'), použijte fetchone() :
def track_exists(self, track_id):
cur = self.conn.cursor()
cur.execute("SELECT fma_track_id FROM tracks WHERE fma_track_id = %s", (track_id,))
return cur.fetchone() is not None
fetchone() vrátí None pokud není co načíst a testování proti is not None vám dává praktickou booleovskou hodnotu, kterou chcete přímo vrátit.