rman duplicate create controlfile fails

I have a problem when trying to duplicate a database using rman. Ora
8.1.7.4 on Win2000.

took a full backup of the original database (noarchivelog)

create the new instance with oradim

started it up with oradim

connected to the new instance, started it up with nomount (specifying
a new pfile)

set nls_lang=american_america.ee8iso8859p2 in the cmd prompt to avoid
a plsql error

set oracle_sid=<new_instance>

started up rman, connecting to the catalog, the target and the
auxuliary

used a script taken from metalink, which renames the datafiles,
issues the duplicate command and creates redo logs for the new database

rman restored the datafiles, created the control files, switched the
datafiles, executed recover

then it dismounted the database and tried to create a controlfile
again, which failed with ora-01158, database already mounted

After that I tried the following:

executed the create controlfile command directly from svrmgrl, which
also gave 01158. Shut down the instance, started the database in
nomount, tried the same create controlfile again and it succeeded.
Tried alter database open resetlogs afterwards, but the instance dies
with an internal error

What I also noticed is that if I start up the database nomount, create
the control files, alter database dismount, and try to create
controlfile again, I get the same ora-01158, without using rman. I
guess this is what surprises rman as well.

What is also interesting is that neither the first, nor the second
create controlfile include any of the datafiles besides system.
Shouldn't it?