Yes a Class A device can only receive downlinks after an uplink.
Port 0 is only used for MAC commands. Application downlinks can use any other port. Some ports at the top of the range (200-255) are reserved for LoRaWAN extension applications such as Multicast setup and Fragmentation.