In stead of doing at VB level, you can easily perform at SQL level as:
INSERT INTO dbo.Applications (Date, firstname, lastname, Version) VALUES('3/12/2011', 'Tom', 'cruise', '2.0') WHERE NOT EXISTS (SELECT * FROM dbo.Applications WHERE firstname = Tom AND lastname = cruise)