It's not clear to me what you are asking. With Bazaar version 1.6.1, I can do what you seem to want to do.
$ mkdir /tmp/wd; cd /tmp/wd
$ bzr init
$ touch foo bar
$ bzr add foo bar
added foo
added bar
$ bzr commit -m Initial
Committing to: /tmp/wd/
added foo
added bar
Committed revision 1.
$ echo 123 > bar
$ bzr rm foo
deleted foo
Now, I've removed foo from the tree, but bar has uncommitted changes. To commit the deletion, I use:
$ bzr commit foo -m "Deleting foo"
Committing to: /tmp/wd/
deleted foo
Committed revision 2.
Revision 2 doesn't see the change to bar
$ bzr diff -r1..2
=== removed file 'foo'
but the working tree does
$ bzr diff
=== modified file 'bar'
--- bar 2009-01-20 06:06:37 +0000
+++ bar 2009-01-20 06:07:07 +0000
@@ -0,0 +1,1 @@
+123
Am I misunderstanding the questions?