Usa la API GetTickCount() per ottenere il numero di millisecondi passati dall'avvio del sistema; alla prima pressione del pulsante memorizza il valore così ottenuto in una variabile a livello di form, alla seconda chiama nuovamente GetTickCount ed effettua la differenza tra i due valori, in modo da ottenere la differenza in millisecondi tra le due pressioni del tasto; magari memorizza di nuovo il valore ottenuto da GetTickCount nella variabile di prima, in modo da consentire di premere più volte il pulsante.
A questo punto dividi la detta differenza per 1000 (ricordandoti di convertirlo prima in double) così da ottenere questo valore in secondi, e quindi dividi 60 per il valore così ottenuto: in questa maniera otterrai i bpm.

Ah, se vuoi fare le cose di fino devi tenere in conto nell'effettuare la differenza tra i due tempi l'eventuale overflow di GetTickCount ai 49.7 giorni di uptime, nonché (se stai usando VB6 e non VB.NET) il fatto che dopo 24 giorni o giù di lì il valore restituito risulterà negativo in quanto la API restituisce un valore senza segno e VB dispone solo di interi con segno.

P.S.: hai postato il messaggio nella sezione errata (per VB c'è l'apposito subforum), e non hai specificato la versione di VB che stai usando.