I owned a fairly heavily modded 300ZXTT back in the day and currently a 335is. The thing I loved about the 335is was that the acceleration reminded me so much of my Z. Both cars are great. The Z is old, but was built extremely well and, to this day, still looks fantastic. Better than my BMW in my opinion.
With that said, 300ZXTT only comes in a 2 seater. Plus, if you are looking for 400 HP at the wheels in the Z, it will require at a minimum, larger fuel injectors, ECU upgrade, intercoolers, turbos, dual intakes, etc. whereas you can reach 400 wheel HP in the 335i for much cheaper - basically full bolt-ons without upgrading turbos. With E85, it's even easier.
The basic ECU, dual intakes, exhaust upgrade on a Z is advertised to give you about 400 HP, but that's crank HP. Those upgrades measured were actually only putting out about 310-320 HP at the wheels (stock Z made about 230-240 wheel HP). A 335i with just a basic tune will put you over that figure - like about 330 wheel HP or so.
In terms of gas mileage, my Z actually got better gas mileage (about 17 mpg) than my BMW (more like 16 mpg) despite the fact that the BMW is so much newer, has direct injection, etc.
At the end of the day, it just depends on what you want. I wouldn't worry too much about reliability issues on the Z. It was and is an extremely reliable car. It is much less practical due to lack of 4 seats. Hatchback is reasonably roomy, but you can definitely fit more stuff in the BMW. Z does look much more exotic and it is very rare to see ones on the street in great condition.
Finally, in terms of mods, I think the 1996 models are limited as they are different than 1995 and earlier models - forget exactly what, but many of the engine upgrades for 1990-1994 300ZXTTs just won't work on a 1996 model. Perhaps due to OBDII or other stuff.