Unless I am completely missing something obvious, the code should work. I added some output so you can see what it is doing.

 Code:
if primapstate("\\server1\printer1")
  ? "Printer 1 Exists"
  ? "Removing Printer 1 - "
  $RC=delprinterconnection("\\server1\printer1")
  @serror
  if @error=0 and not primapstate("\\server1\printer2")
    ? "Adding Printer 2 - "
    $RC=addprinterconnection("\\server1\printer2")
    @serror
  endif
else
  ? "Printer 1 does not exist"
endif