Deleting from the child table doesn't prevent inserts on the parent. You can see this with the following test case:
Setup:
create table t1 (
x int primary key
);
create table t2 (
y int references t1 (x)
);
insert into t1 values (1);
insert into t2 values (1);
commit;
Session 1:
SQL> delete t2;
1 row deleted.
Session 2:
SQL> insert into t1 values (2);
1 row created.
As you can see, both statements completed. Checking in a third session you can see there's no blocking:
SQL> select l1.sid, ' IS BLOCKING ', l2.sid
2 from v$lock l1, v$lock l2
3 where l1.block =1 and l2.request > 0
4 and l1.id1=l2.id1
5 and l1.id2=l2.id2;
no rows selected
The most likely reason your inserts are blocked is because you have multiple sessions trying to insert the same PK value.
Back in session 1:
SQL> rollback;
Rollback complete.
SQL> insert into t1 values (2);
At this point session one is stuck, waiting for session 2 to commit/rollback:
SQL> select l1.sid, ' IS BLOCKING ', l2.sid
2 from v$lock l1, v$lock l2
3 where l1.block =1 and l2.request > 0
4 and l1.id1=l2.id1
5 and l1.id2=l2.id2;
SID 'ISBLOCKING' SID
---------- ------------- ----------
138 IS BLOCKING 49
If this doesn't explain your situation, then please provide us a test case showing how your insert is blocked!