"Operand type clash" with DATE column
Please use string delimiters around date literals, and do whatever you can to avoid ambiguous, regional formats like DD/MM/YYYY. How about:
insert into dbo.testtable ([product_name], [price], [expire_date], [expire_time]) 
  values ('Teapot', 10.00, '20121223', '12:35:00');

I use YYYYMMDD because, except with DATE, YYYY-MM-DD can be misinterpreted. With DATETIME, for example:
SET LANGUAGE FRENCH;
DECLARE @d DATETIME = '2012-12-23';

Result:

Msg 242, Level 16, State 3
La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites.

Your original format could also cause problems even with date:
SET DATEFORMAT MDY;
DECLARE @d DATE = '23/12/2012';

Result:

Msg 241, Level 16, State 1
Conversion failed when converting date and/or time from character string.

Not to sound preachy, but please see this blog post:

Bad habits to kick : mis-handling date / range queries

And this video:

Recommended SQL Server Date Formats

And Tibor's excellent article:

The ultimate guide to the datetime datatypes