when creating a pricelist normally all prices in m_product_po are taken as price for the uom in m_product. If a recalculation for a differen UOM in m_product_po is needed there has to be a uom conversion exactly for this product. But this recalculation is done independently of the really used m_product_po entry. So if there are more than one entry in m_product_po for a given product even entries which have the UOM of m_product are converted. To be even worse, all m_product_po entries are taken which have a different UOM and the last one wins even if it's UOM is different from that of the really uses m_product_po entry.
Look for MUOMConversion in M_PriceList_Create