を is always pronounced “o” when it’s functioning as a particle, and it always functions as a particle in modern Japanese. Made for some fun times in dictation tests at uni when we’d have to distinguish between “benkyo-o o suru” and “benkyo-o suru” by ear, and we’d lose a mark if we got it wrong. =P
千円 is “sen en” as you observed, but when ん is followed by あ-line characters, you’ll tend to find that native speakers don’t quite complete the ん sound, because it makes it easier to transition to the next mouth position. The upshot is that “sen en” comes out as something closer to “sei-en”. 円, by the way, is always pronounced “en” when referring to the currency – the “yen” that we use in English is a result of some… rather curious etymology.