Sorry for the lack of info.
org version 7.4

I created a new/test org file.  It contains:
* PROJECT aaa
** TODO t1
** TODO t2
* TODO bbb [0/2]
:PROPERTIES:
:CATEGORY: dummy
:END:
** TODO t3
** TODO t4

If I leave out the [/], then all is well.
If I add the [/] at the end of a level 1 heading that WAS a PROJECT, then do a C-c C-c there to update it, the PROJECT changes to TODO (which is the nearest KEYWORD both before & after.

I have
org-hierarchical-todo-statistics set to nil cuz I'd like to gather info on all tasks in the subtree.
org-provide-todo-statistics set to t.

Just as a reminder, I have
(setq org-todo-keywords
      '((sequence "REVIEW(r)" "TODO(t)" "ACTIVE(a!)" "WAIT(w@)" "SOMEDAY(s)"
                  "|"
                  "DONE(d)" "CANCELED(c@)")
        (sequence "OPEN(O@!)" "WIP(W!)" "PAUSED(P@!)" "|" "CLOSED(C@!)")
        (sequence "PROJECT(p)" "|" "COMPLETED(x)")
        ))


Can anyone shed light on this?

Cheers.
Fil

On 15 March 2011 10:54, John Hendy <jw.hendy@gmail.com> wrote:
On Mon, Mar 14, 2011 at 11:15 PM, Filippo A. Salustri
<salustri@ryerson.ca> wrote:
> So,
> I've set org-provide-todo-statistics to t
> and org-hierarchical-todo-statistics to nil.
> I use a TODO sequence to identify projects.  That is,
> (setq org-todo-keywords
>       '((sequence "REVIEW(r)" "TODO(t)" "ACTIVE(a!)" "WAIT(w@)" "SOMEDAY(s)"
>                   "|"
>                   "DONE(d)" "CANCELED(c@)")
>         (sequence "OPEN(O@!)" "WIP(W!)" "PAUSED(P@!)" "|" "CLOSED(C@!)")
>         (sequence "PROJECT(p)" "|" "COMPLETED(x)")
>         ))
> I then set level 1 headlines to be PROJECT and put [/] at the end of the
> headline.
> The hope is to see projects at a glance and get the fraction done too.
> All is as it should be, but for one thing.
> When I toggle or insert within a subtree, the headline for that project
> changes from PROJECT to ACTIVE if less than all tasks are done, and DONE if
> all tasks are done.
> Obviously, I want it to stay PROJECT.
> I've spent over an hour trying to figure this one out and I can't.
> Anyone got any advice?

I don't use this, but replicating your example, I don't get the behavior you do.
- I added your todo definitions to my .emacs
- I created a simple top-level headline in a blank file and used C-c
C-t to make it a PROJECT
- I added three second-level headlines and made them all TODOs
- I marked them done one by one and the top level always stayed as a PROJECT

My end result:
,-----
| * PROJECT some project [3/3]
| ** DONE do something
|   CLOSED: [2011-03-15 Tue 09:51]
| ** DONE do something else
|   CLOSED: [2011-03-15 Tue 09:50]
| ** DONE do something further
|   CLOSED: [2011-03-15 Tue 09:49]
`-----

Perhaps list your org-mode version? Others will be able to debug
better than I can. Perhaps start with a simple, blank file as well (or
maybe you already are?). I can't figure out what would trigger it from
PROJECT to the keyword in another sequence without directly specifying
such.


Good luck,
John


> Cheers.
> Fil
>
> --
> Filippo A. Salustri, Ph.D., P.Eng.
> Mechanical and Industrial Engineering
> Ryerson University
> 350 Victoria St, Toronto, ON
> M5B 2K3, Canada
> Tel: 416/979-5000 ext 7749
> Fax: 416/979-5265
> Email: salustri@ryerson.ca
> http://deseng.ryerson.ca/~fil/
>



--
Filippo A. Salustri, Ph.D., P.Eng.
Mechanical and Industrial Engineering
Ryerson University
350 Victoria St, Toronto, ON
M5B 2K3, Canada
Tel: 416/979-5000 ext 7749
Fax: 416/979-5265
Email: salustri@ryerson.ca
http://deseng.ryerson.ca/~fil/