Caveat caveat caveat: I really really don't recommend you do this, not at all, not never, but here are some VB-free suggestions.
(1) You say there are no other formulae on the worksheet. This suggests that you merely want the "0" as a blanking entry for things that are completed. If so, you can use conditional formatting not to replace your data with "0", but to change the font to white on a white background so it no longer shows up on printing. The underlying data, however, are unchanged. This is particularly awkward if you are exporting the data for use in another piece of software.
If you do go this way, a simple conditional format formula that will do the job is =(index(B:B, row())="COMPLETED"). There are probably simpler versions, but I can't get my head round how Excel handles relative and absolute addresses on copying and pasting conditional formats.
(2) If you ever upgrade, in Excel2007 onwards, IF your data in column A are numbers, you can go one step closer to your request and use a conditional number format of "0" (not 0), which will display the text "0" and not the value. But again, the underlying value is still there and remains unchanged.