MS SQL restore problem

If run the following statements:
create table Test..abc (col1 char(10), col2 char(10))

begin tran t_mark1 with mark
insert into Test..abc values('1', '1')
commit tran t_mark1

begin tran t_mark2 with mark
insert into Test..abc values('2', '2')
commit tran t_mark2

begin tran t_mark3 with mark
insert into Test..abc values('3', '3')
commit tran t_mark3

begin tran t_mark4 with mark
insert into Test..abc values('4', '4')
commit tran t_mark4

begin tran t_mark5 with mark
insert into Test..abc values('5', '5')
commit tran t_mark5


then i need to restore to specified position,

First backup transaction log
backup log Test to disk = 'c:\Test_T.log' WITH NORECOVERY

After run this statement, it seems success, why the records still exist?
restore log Testfrom disk = 'c:\Test_T.log' WITH RECOVERY, STOPAT = '2007-11-20 10:54:33:107'

I use this statement -- "select * from msdb..logmarkhistory" to get the time

database_name mark_name description user_name lsn mark_time
Test t_mark5 NULL sa 7261000000378400003 2007-11-20 10:54:33.123
Test t_mark1 NULL sa 7261000000378000003 2007-11-20 10:54:33.107
Test t_mark2 NULL sa 7261000000378100003 2007-11-20 10:54:33.107
Test t_mark3 NULL sa 7261000000378200003 2007-11-20 10:54:33.123
Test t_mark4 NULL sa 7261000000378300003 2007-11-20 10:54:33.123

if i run this statement, 
restore log Test from disk = 'c:\Test_T.log' with STOPATMARK = 't_mark1', recovery

Result Message:
This log file contains records logged before the designated mark. The database is being left in the Restoring state so you can apply another log file.

It seeme not success

Hope some experts can help me to fix this problem, thanks you