Okay, I guess we were both online at the same time, and you accessed the draft version while I was revising my post.
Anyway, have a try of the following 
fb-pdbv3.pdb, generated with the quick written Ruby script 
cvt2pdbviewer.rb:
#!/usr/bin/env ruby
raise "$0 inppdb outpdb" unless ARGV.size == 2
File.open(ARGV.last, "w") do |aFile|
    File.open(ARGV.first).each_line do |line|
        if line =~ /^ATOM  /
            line.sub!(/ O1P/, " OP1")
            line.sub!(/ O2P/, " OP2")
            line.sub!(/ C5M/, " C7 ")
            line.sub!(/  A (\w)/, ' DA \1')
            line.sub!(/  C (\w)/, ' DC \1')
            line.sub!(/  G (\w)/, ' DG \1')
            line.sub!(/  T (\w)/, ' DT \1')
            line.sub!(/1\.00  0\.00/, "1.00  1.00")
        end
        aFile.puts line
    end
endIn addition to change atom names for O1P/O2P/C5M, the script converts A/C/G/T to DA/DC/DG/DT, and sets the temperature factor to 1.00 instead of 0.00 which PDBViewer is not happy with. The complains about missing atom O2' or O2* is likely due to the fact that PdbViewer takes A/C/G/T as RNA nucleotides, which the above conversion also takes care of. It seems PdbViewer is quick strict in following PDB format v3.x.
Unless I have missed something obvious, I believe 
fb-pdbv3.pdb should make PdbViewer happy. It helps if you could report back how it goes.
Xiang-Jun