This is a Mac OS X (10.5.7) specific issue, that occurs for all versions > 1.2.9 that I've tested (1.3.0 through the 1.4 nightly), regardless of what fortran compiler you use (ifort / g95 / gfortran). I've been able to replicate this issue on other OS X machines, and I am sure that I am using the correct headers / libraries. Version 1.2.9 is working correctly. Here are some system details:
Darwin zamblap.epp.ist.utl.pt 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386
This might be a (again, Mac OS X specific) libtool issue. If you look at the name list of the generated .dylib libraries for 1.3.3 you get:
$ nm /opt/openmpi/1.3.3-g95-32/lib/*.dylib | grep -i in_place
000a4d30 S _MPI_FORTRAN_IN_PLACE
000a4d34 S _mpi_fortran_in_place
000a4d38 S _mpi_fortran_in_place_
000a4d3c S _mpi_fortran_in_place__
000a4d30 S _MPI_FORTRAN_IN_PLACE
000a4d34 S _mpi_fortran_in_place
000a4d38 S _mpi_fortran_in_place_
000a4d3c S _mpi_fortran_in_place__
00007328 S __ZN3MPI8IN_PLACEE
00007328 S __ZN3MPI8IN_PLACEE
U _mpi_fortran_in_place__
U _mpi_fortran_in_place__
00036eea D _orte_snapc_base_store_in_place
00036eea D _orte_snapc_base_store_in_place
But for 1.2.9 you get:
$ nm /opt/openmpi/1.2.9-g95-32/lib/*.dylib | grep -i in_place
00093950 S _MPI_FORTRAN_IN_PLACE
00093954 S _mpi_fortran_in_place
00093958 S _mpi_fortran_in_place_
0009395c S _mpi_fortran_in_place__
00093950 S _MPI_FORTRAN_IN_PLACE
00093954 S _mpi_fortran_in_place
00093958 S _mpi_fortran_in_place_
0009395c S _mpi_fortran_in_place__
0000e00c D __ZN3MPI8IN_PLACEE
0000e00c D __ZN3MPI8IN_PLACEE
U _mpi_fortran_in_place__
U _mpi_fortran_in_place__
So the __ZN3MPI8IN_PLACEE symbol, that I guess refers to the Fortran MPI_IN_PLACE constant is being defined incorrectly in the 1.3.3 version as a S (symbol in a section other than those above), while it should be defined as a D (data section symbol) as part of an "external" common block, as it happens in 1.2.9. So when linking the 1.3.3 version the MPI_IN_PLACE constant will never have the same address as any of the mpi_fortran_in_place variables, but rather its own address.